Cの改行文字は何ですか? OS によって行末文字が異なることは知っていますが、それらは C の改行文字に変換されます。そのキャラクターは何ですか?
4 に答える
C言語の改行文字は何ですか: \rまたは\n?
改行はいくつか char
と考えられ、値は'\n'
です。C11 5.2.1
この C の改行は、C ソース コードの 3 つの場所に表示されます。テキストモードchar
の場合は、単一の行として、およびファイル I/O の行末として表示されます。
多くのコンパイラは、ソース テキストを ASCII として扱います。その場合、ソース コードの改行としてコード 10、場合によっては 13、場合によっては 13 と 10 をペアにします。ソースコードが別の文字セットであった場合、別のコードが使用される場合があります。この改行は通常、ソース コード (実際にはここではもう少し複雑です)、// コメント、および # ディレクティブの行の終わりを示します。
ソース コードでは、 と の 2 文字
\
は、改行を としてn
表します。ASCII が使用されている場合、この値は 10 になります。char
\n
char
ファイル I/O で、テキスト モードで、入力ファイル (および stdin) のバイトを読み取るとき、環境に応じて、値が 10 (Unix)、13,10、(*1)のバイトの場合(Windows)、13 (Old Mac??)、およびその他のバリエーションは、'\n' に変換されます。ファイル (または stdout) の書き込み時に、逆変換が発生します。
注: バイナリ モードでのファイル I/O は変換を行いません。
'\r'
ソース コード内はキャリッジ リターンですchar
。
(*1) 単独の13および/または10は、 に変換される場合もあり\n
ます。
'\r' = キャリッジ リターンおよび '\n' = ライン フィード。
実際、異なる OS で使用すると、いくつかの異なる動作があります。Unix では '\n' ですが、Windows では '\r''\n' です。