CR-LF

システム・プログラム

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/coins/syspro-2000/2000-05-08 /crlf.html
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/coins/
http://www.is.tsukuba.ac.jp/~yas/index-j.html

◆CR-LF

HTTP, finger, SMTP, NNTP など、インターネットで使われている 通信プロトコルの多くでは、行末を表す記号として、 キャリッジ・リターン(carrige return,CR) とライン・フィード(Line feed, LF)の両方が必要であると定められている。 Unix では、通常ライン・フィード(ニュー・ライン、New Line, NL と呼ばれ ることもある)だけが行末の記号として使われる。よって、画面に文字列を表 示し、改行したい場合は、次のようなプログラムが使われる。

printf("Hello,world\n");
しかしながら、インターネットの上のプログラムを作成する時には、次のよう にしなければならないことが多い。
printf("Hello,world\r\n");
ここで、'\r' がキャリッジ・リターン、'\n' がライン・フィードである。い ずれも、C言語のソース・プログラム上では2文字に見えるが、Cコンパイラ により、1文字に変換される。それぞれ、アスキーでは、13(0x0d), 10(0x0a) である。

規格上は、CR-LF が必要とされているが、実際にプログラムを作る時には、LF だけでも動くことがある。しかし、それはたまたまその特定のサーバのプログ ラムが良くできていて、LF だけでも動くようになっているからである。


↑[もどる] ←[5月01日] ・[5月08日] →[5月15日] [課題]
Last updated: 2000/05/07 20:07:11
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>