所以我有两个程序,我正在比较输出。每当它执行换行符时,它表示我的输出使用diff实用程序是不同的。 我尝试过使用:
std::cout << endl;
和
std::cout << '\n';
但winmerge仍然说我们的输出是不同的。我在同一台机器上运行两个可执行文件。
答案 0 :(得分:0)
以二进制模式读取文件并检查换行符的字节值。
一个可能是一个ASCII码为10的字符
,另一个将是10和13.
答案 1 :(得分:0)
流std::endl
相当于流媒体'\n'
然后std::flush
所以,不,你不会看到任何差异。您的工具更有可能期望找到Windows样式的行结尾(即CRLF而不仅仅是LF)。
std::cout << "\r\n" << std::flush;
但是,您应该只是在十六进制编辑器中打开比较数据,而不是猜测,并自己查看预期的字符。