アカウント名:
パスワード:
printf(some_string_text); は、 printf("%s", some_string_text); としなさいというのがあり、目から鱗が落ちました。
fputs(some_string_text, stdout);
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
分量がすごそうなんですけど… (スコア:1)
Re:分量がすごそうなんですけど… (スコア:0)
ざっと目を通しましたが、やっぱり、C/C++プログラマとして、
文字列処理系の問題は頭が痛いなぁと思いました。
最後の方に、
printf(some_string_text);
は、
printf("%s", some_string_text);
としなさいというのがあり、目から鱗が
Re:分量がすごそうなんですけど… (スコア:2, 参考になる)
fputs(some_string_text, stdout);
にせよ、と教えてるんですけど... (セキュリティ以前の問題で)。Re:分量がすごそうなんですけど… (スコア:1)
Re:分量がすごそうなんですけど… (スコア:0)
printf("%s", some_string_text);
と
fputs(some_string_text, stdout);
ではどのように動作が異なるのですか?
Re:分量がすごそうなんですけど… (スコア:2, 参考になる)
1.成功時の戻り値の仕様
printf:転送された文字数を返す。
fputs: 非負の値を返す。
2.エラー時の戻り値の仕様
printf:出力エラーが発生したときは、負の値を返す。
fputs:書込みエラーが発生するとEOFを返す。
3.変更、拡張への対応
"%s"を前提としている場合でも、
Re:分量がすごそうなんですけど… (スコア:1)
使いますよね。それならfputs(3)を使えばよくて
(puts,getsは末尾の改行を扱う、fputs,fgetsは扱わない)
元コメント [srad.jp]
は多分「printfのほうがfputsより重いから」
ではないですか?