制作日記

こういうの作った方が、逃げにくいじゃない

%s

http://mugenbinran.web.fc2.com/error.html
%sはヌル終端文字列を表示するんだから、 文字列の先頭アドレス指定しないとそら落ちる
文字列でなくても、せめて読み書き可能なアドレスを指定しないと……

てなわけで、C99のJIS規格からfprintf関数の指定子sの説明を引用

長さ修飾子が存在しない場合、実引数は、文字型配列の先頭要素へのポインタでなければならない(236)
配列内の文字を終端ナル文字の直前まで書き込む。精度が指定された場合、精度を超える個数のバイトは書き込まない。精度が指定されない場合又は精度が配列の大きさよりも大きい場合、その配列はナル文字を含まなければならない。
~中略~
(236) 多バイト文字のための特別な対応はない。

ということだそうです。

JIS規格は面白い。
Cがわかるなら、是非読むべき。

http://www.jisc.go.jp/app/pager?%23jps.JPSH0090D:JPSO0020:/JPS/JPSO0090.jsp=&RKKNP_vJISJISNO=X3010

コメントの投稿

非公開コメント

プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク