- 375 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 13:50:17 ]
- >>373
>それが一般的であることを示してくれ。 まあ\rは無視することもあるな、Macだけだし、はっきり言っておかしいから。 出力は、自分の環境で動けばいいから(移植するときに考えればいい)printf("foo\n")でもいい。 外部に出力する場合は規格通りにすればよい。 当たり前だが、問題なのは出力よりも入力。なぜならどのようなデータがくるか分からないから。 ここで注意すべきなのは、ただ単に改行までシークする場合は \nと\r\nは改行位置を捜すのに両方\nを捜せばいいから問題にならない。 よって、考慮はしているがそれが実際にコード上に現れないことも多い。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ しかし、考えなければならない事もある、たとえばhttpの改行は\r\nである必要があるが、 \nである環境もあるかもしれない。例えば、Httpのヘッダとボディ部を分けるのは "\n\n"と"\r\n\r\n"の両方の可能性がある。 (規格上は後者のみ正しいが、もしかしたら前者の可能性もあるかもしれない。) よってその場合には分けた処理が必要になる。実例として、MPlayerの MPlayer/stream/http.cのhttp_is_header_entire()。 wgetのhttp.cなどを参考にしても、もし改行が\nの場合、\r\nの場合両方とも正しく処理できるように なっている様がわかる。 でもそれが一般的である証明なんて誰にもできませんよ。もちろん一般的でない証明もできません。 >改行コードの違いなんか考えるわけがない。 考えなければならない時は考えるほうがよいです。考えないとバグの原因になる可能性がありますので。 >「bフラグは無視される環境であることがほとんど」なわけがない。 Unix使いは、って書いあるじゃんwwwww なんで同じ文の中に書いてあって前提が途中で変わっちゃうのwwwww?
|

|