[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 メーリングリストの案内