C ++换行

我正在尝试在ofstream中换行,但它行不通。一切都写在OUTPUT.txt的同一行上
std::ofstream output;
output.open(\"OUTPUT.TXT\");
output << \"sometext\" << \"\\r\\n\" << \"sometext\" << \"\\r\\n\" << \"sometext\";
output.close();
我也试过
output << \"sometext\" << std::endl << \"sometext\" << std::endl << \"sometext\";
output << \"sometext\" << \"\\n\" << \"sometext\" << \"\\n\" << \"sometext\";
output << \"sometext\" << \'\\n\' << \"sometext\" << \'\\n\' << \"sometext\";
一切都写在同一行,没有新行...我错过了什么吗?     
已邀请:
        如果您使用的是cygwin的g ++,在某些设置下将\“ \\ n \”转换为Windows样式的CRLF时会遇到一些问题,我尝试了您的代码段的简单版本,它可以正常工作。尝试在另一个文本编辑器中打开,看看问题是否仍然存在。     
        在这种情况下,我发现最好用十六进制编辑器而不是文本编辑器查看文件,因为文本编辑器可以拥有自己的文本呈现方式,这对于查找讨厌的,不可打印的字符也很有用。会让你绊倒。 您没有说要使用什么平台,但是如果您使用的是Windows,我建议您使用HxD。 如果您使用的是Windows,则会看到以下内容:
Offset(h) 00       04       08       0C       10       14       18       1C

00000000  736F6D65 74657874 0D0A736F 6D657465 78740D0A 736F6D65 74657874 0D0A      sometext..sometext..sometext..
在上面的示例中,十六进制序列0D0A是Windows上的\'\\ n \'字符。     
        采用
output.open(\"OUTPUT.TXT\", ios::out);
提醒您ѭ6不能使用。     
        大概。您正在读取的文件副本与您的程序正在写入的副本不同。删除文件,然后运行程序。     

要回复问题请先登录注册