1

この質問は、C、C++、および Java の '\n' に関するものです。それぞれの言語について、'\n' 文字はプラットフォームに依存するか (Windows の unix CRLF では LF)、プラットフォームに関係なく LF のみです。

4

1 に答える 1

6

C および C++ では\nアプリケーション内の文字列で使用される改行文字です。プラットフォーム固有の改行シーケンスへの変換は、テキスト モード (つまり、バイナリ モードではない) で開かれたときに、IO ストリームによって行われます。

これは標準ライブラリには当てはまりますが、特定の API には当てはまらない場合があることに注意してください。たとえば、一部の Windows コントロールが正しく動作するために明示的な CRLF が必要だったことを覚えています。

Java に関しては、私が間違っているかもしれません (私はほとんど Java で作業したことがありません) が、ドキュメントからわかることから、ストリームは変換を実行しません。System.lineSeparator()代わりに、現在のプラットフォームの行区切りを取得するために使用できます。この情報を使用して、基になるストリームに改行を出力するBufferedWriter便利な方法を提供します。newLine

于 2012-10-09T16:09:32.780 に答える