\n
をファイルストリームに挿入すると、システムの適切な行末シーケンスがファイルに書き込まれます(Windowsの場合は\r\n
など)。 std::stringstream
にエンドラインを挿入すると、システムに適した行末シーケンスが文字列に書き込まれますか?たとえば:エンドストリングをストリングストリームに挿入する
#include <sstream>
int main()
{
std::ostringstream oss;
oss << std::endl;
std::string endlineSequence = oss.str();
bool isWindows = enlineSequence == "\r\n";
bool isOldMac = endlineSequence == "\r";
bool isUnix = endlineSequence == "\n";
// Will this work???
}
あなたの時間を節約するために、あなたのプログラムの 'bool'がすべて' true'かどうかを確認して実行することができます。 'isWindows'と' isMac'は 'false'と評価されます。 –
@Aditya:各プラットフォームで試してみる必要があります。誰もがWindows、Mac、Unixの箱を自由に使用できるわけではありません。 :-) –
@Emile:いいえ、Windowsで試してみるだけです。 '\ n'を書いて' \ r \ n 'を得ると、それはネイティブの改行に変換されるので、もしあなたが '\ n'を得るならそれはしません。 LinuxやMacOS Xでは気にならない。 WindowsとLinuxマシンの両方で –