プログラム組み立て係

≫2009年11月

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Basil

今日なんか、BasilってPCゲーム製作メーカーを知ったけど、
あれって、どう見てもNavel的なww
(スタッフが多数移籍したですな)

そらいろ つばめルート

つばめルートの感想です。
※ネタバレありあり。
「というか、今頃かよ」という言葉はタブーww


つばめルートと言っても、
実際は、「つばめ→つばめ」ルートと言ったほうがいいのかな?ww

今作は、かなりつばめルートに力を入れているらしく、
しかも、つばめママやつばめパパからラムネ臭がするということはなんということだww
私は、ラムネをやった事はありませんが、アニメで1話だけ見ました・・・
(「やっぱ、原作やった方が良いと思う」という原作厨的な考え方よりww)
その時と比べてもいろいろ引っかかりますww(あれ?どっかで見た事あるような的な感じw)

ぽんこつ

まぁ、そんな事とかはおいといて、ぽんこつですww
のんびりゆったりとマイペースww
起きるのは遅いし、寝相が悪すぎて、乳に目玉親父(?)描いても気づかないしww
でも、頑張りやさんですw可愛いのぉw
フォークダンスのときも、踊る事を想定して練習してましたし、
バイク(スクーター)の免許取る時も余裕に合格とw
(スクーターの免許取った後に事故るのかなと思ってしまった。orz)
しかし、こっちのルートは重いですね~
18禁ゲーならではの重さですねww
2度目の結婚?の後から、歪みが生じてきて、
いつもの生活ができなくなるという展開。
また、それが何年も続き、主人公と共に苦しむという感じですかね。
そして、子供の病気によりつばめと別居しなければならない生活になり、つばめは都会へ。
しかし、社会でのいじめなどに耐え抜かねばならないながらも
子供の病気の完治ためにと頑張るという描写が多いです。
主人公も仕事→家で寝て→仕事の繰り返しとどちらも大変な毎日。
なっ、泣けるわぁ(;ω;`)
話はそれだけではないですが、あえて言わない。
でも、最後はいい最終回だったww
感想より話の内容が長くなってもうた・・・orz

printf類1

文字列系統の関数
printf( const char *format, ... )
   標準出力に文字列を出力する関数(コンソール画面に文字を出す関数)
fprintf( FILE *stream, const char *format, ... )
   指定したストリームに文字列を出力する関数(ファイルに文字を出す関数)
sprintf( char *str, const char *format, ... )
   指定したメモリに文字列を出力する関数(strのメモリに文字を入れる関数)
snprintf( char *str, size_t size, const char *format, ... )
   sprintfと同じに近いが、こちらの方が安全で推奨される関数

※引数にある ... は可変個数の引数を意味していて、
 有限ではあるが、無限に近いような引数を持つ事も可能である。



printf関数の簡単な使用例


#include <stdio.h>

int main()
{
 printf( "Hello!World!" );
 return 0;
}



fprintf関数の簡単な使用例

#include <stdio.h>

int main()
{
 FILE* pfile;
 // sample.txtにw(write:書き込むモード)
 pfile = fopen( "sample.txt", "w" );
 fprintf( pfile, "Hello!World!" );
 // sample.txtを閉じるおまじない
 fclose( pfile );
 return 0;
}



sprintf関数の簡単な使用例

#include <stdio.h>

int main()
{
 char str[27]; // str変数の27個の配列を作る
 sprintf( str, "abcdefghijklmnopqrstuvwxyz" );
 puts( str ); // str変数の内容を画面に表示
 return 0;
}



snprintf関数の簡単な使用例

#include <stdio.h>

int main()
{
 char str[27]; // str変数の27個の配列を作る
 snprintf( str, sizeof( str ), "abcdefghijklmnopqrstuvwxyz" );
 puts( str ); // str変数の内容を画面に表示
 return 0;
}



snprintf関数がなぜsprintfよりも推奨されるか?
それは、sprintfと違って、snprintfの第2引数のところにある大きさを指定し、
書き込む大きさがそれ以上あった場合、その後に入れる文字列をカットする事ができるからである。



snprintf関数がsprintfよりも推奨される理由を示す例1

#include <stdio.h>

int main()
{
 char str[3]; // str変数の3個の配列を作る
 sprintf( str, "abcd" );
 puts( str ); // str変数の内容を画面に表示
 return 0;
}



snprintf関数がsprintfよりも推奨される理由を示す例2

#include <stdio.h>

int main()
{
 char str[3]; // str変数の3個の配列を作る
 snprintf( str, sizeof( str ), "abcd" );
 puts( str ); // str変数の内容を画面に表示
 return 0;
}



例1、例2ともコンパイルできると思う。(Bolandの無料コンパイラなら普通に通った)
まずは、例2の実行ファイルを実行するとstr変数の3つ分という事で、abcまで表示され終了する。
そして、例1の実行ファイル(.exe)を実行したときにabcdと表示された後
プログラムが終了しないはず。これが、snprintf関数が推奨される理由である。
sprintf関数では、メモリ溢れを感知できないのである。
こういうバグを作らないためにも引数の数が多く、
面倒くさいがsprintfよりもsnprinfの方を私は推奨する。

最後に、変な口調ですんませんww

«  | HOME |  »

プロフィール

δキリン

Author:δキリン
パソコン関連のことについて
いろいろつづっていきたいと
思っています。

相互リンクは大歓迎ですよ!

もし良かったら、
ポチっとよろしくお願いします



※関係ないページ表示されたとき、
 下の検索フォームから検索してください


最新記事


カテゴリ

TOP (1)
C言語 (19)
HTML (2)
ハードウェア (5)
ソフトウェア (11)
美少女ゲーム (25)
音楽 (2)
アニメ (3)
不定期日記 (15)
本 (4)
雑記 (6)
未分類 (0)

月別アーカイブ


最新コメント


アクセスカウンター


検索フォーム


RSSリンクの表示


リンク

このブログをリンクに追加する

応援中

『airy[F]airy (エアリィフェアリィ)』応援中! 『ひだまりバスケット』応援中です! キスと魔王と紅茶 PULLTOP se・きらら バナー

ブロとも申請フォーム

この人とブロともになる


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。