[Mew-dist 13610] Re: line delimiter
Shigeya Suzuki
shigeya at example.com
2000年 7月 12日 (水) 11:09:51 JST
>>>>> "yasushi" == 阿部 靖司 <Yasushi> writes:
yasushi> 最近はbinmode.oというライブラリができたようです。
yasushi> これはリンクしたアプリをどんなマウントモードでもbinmodeとして
yasushi> 動作するようにするものらしいです。
yasushi> つまりCRLF->LFの変換が自動で行われることはない、ということです。
これ、MS関連のプロダクトでも、随分前からあったフィーチャだと思います。
ウチの Mac 担当君に、最新の時流を確認しようとメールしたのだけど、ちょっ
と忙しいみたいなので、私の記憶の範囲で書いときますが、
kazu> fopen("file", "r") する("rb" ではない)と、行末は勝手に LF に直ると信じ
kazu> ていいでしょうか?
Yes.
kazu> - Windows の CRLF -> LF 問題
kazu> Cygwin?
kazu> Visual C?
kazu> Borland C++?
これの意味がちょっとわからない。「問題」って?
kazu> - Windows の標準入出力は、テキストモードで open されていますか?
kazu> Cygwin?
これはしらない
kazu> Visual C?
kazu> Borland C++?
すくなくとも、コマンドライン的実行ファイルの場合は、Yesのはず。
kazu> - Mac の CR -> LF 問題
kazu> ?
私がMacのプログラム書いていた頃の常識では、
プログラム中で \n と書くと 0x0d に、
\r と書くと 0x0a に
コンパイラがスワップするはず。たしか、pragma でも変えられたような。
Mac のテキストファイルは、行末は CR です。
# Apple II 時代から、そう
で、ファイルを読み書きする場合は、Macの Text は、そのまま読めて、
プログラム的に '\n' と正しく比較できるわけです。つまり、バイナリストリー
ムかどうか意識しなくて良いはず。
ただ、ネットワークストリーム読むときは変換してるのかな。Macでネットワー
クのコード書いたこと無い(!)ので、わからん。
kazu> - Mac の標準入出力は、テキストモードで open されていますか?
kazu> #そもそも標準入出力はあるんでしょうか? SmallTalk で出力すると、窓を
kazu> #開いたような。
標準入出力という概念は無いですが、
標準出力に読み書きすると、コンソールウィンドウが開いて入出力できる
開発環境は多いと思う。(CodeWarriorとか)
shigeya
Mew-dist メーリングリストの案内