タグ

POSIXに関するkusuha385のブックマーク (2)

  • Text File / Line - odz buffer

    コメントから Unix においてテキストファイルとは行の集合であり、行とは改行文字で終わるものと定義される、とどこかで読んだ記憶があります。 ふむ。きむらさんのところから(関係ないけどエントリに対する Permalink がおかしい。日付についているリンクはいいんだけど) 今、再度調べてみたけど見つからなかったんですが、 POSIX的には「テキストファイル」の定義ってのは決まってまして、 それによると各行の末尾は必ず改行を含むことになっています。 ですから、「テキストファイル」を扱うと謳っているユーティリティが ファイル末尾に改行を含まないファイルに対して文句つけても、 POSIX的には間違ってないです。 あと行の長さとして最低限これだけの長さは許容しなければいけないとかも あったんですけど、どこだっけなー。 あ、英語だったのは間違いないです。 POSIX だというならまんま POSIX

    Text File / Line - odz buffer
  • なぜ gcc はファイルの最後に改行がないと警告を出すのか? - Schi Heil と叫ぶために

    gcc が出す以下の警告。消すのは簡単で EOF に改行を一つ入れれば良い。でもこれ何が悪いのか分からなかった。 warning: no newline at end of file コンパイラが出す警告だから絶対に何か意味があるはず。調べてみると意外にもテキストファイルの定義にたどり着いた。 ということで POSIX 的に行は改行で終了していて、テキストファイルは行の集合だからファイル末尾には必ず改行が来ると。 Text File / Line - odz buffer Definitions - 3.392 Text File Definitions - 3.205 Line つまり POSIX はテキストファイルにもちゃんと定義を定めていて、最後に改行が無いファイルはその定義に違反するから警告を出す。 There is also some confusion as to whethe

    なぜ gcc はファイルの最後に改行がないと警告を出すのか? - Schi Heil と叫ぶために
  • 1