この質問は、C、C++、および Java の '\n' に関するものです。それぞれの言語について、'\n' 文字はプラットフォームに依存するか (Windows の unix CRLF では LF)、プラットフォームに関係なく LF のみです。
1 に答える
6
C および C++ では\n
、アプリケーション内の文字列で使用される改行文字です。プラットフォーム固有の改行シーケンスへの変換は、テキスト モード (つまり、バイナリ モードではない) で開かれたときに、IO ストリームによって行われます。
これは標準ライブラリには当てはまりますが、特定の API には当てはまらない場合があることに注意してください。たとえば、一部の Windows コントロールが正しく動作するために明示的な CRLF が必要だったことを覚えています。
Java に関しては、私が間違っているかもしれません (私はほとんど Java で作業したことがありません) が、ドキュメントからわかることから、ストリームは変換を実行しません。System.lineSeparator()
代わりに、現在のプラットフォームの行区切りを取得するために使用できます。この情報を使用して、基になるストリームに改行を出力するBufferedWriter
便利な方法を提供します。newLine
于 2012-10-09T16:09:32.780 に答える