C ++换行失败了diff测试?

时间:2014-10-31 00:38:45

标签: c++ formatting output diff newline

所以我有两个程序,我正在比较输出。每当它执行换行符时,它表示我的输出使用diff实用程序是不同的。 我尝试过使用:

std::cout << endl;

std::cout << '\n';

但winmerge仍然说我们的输出是不同的。我在同一台机器上运行两个可执行文件。

2 个答案:

答案 0 :(得分:0)

以二进制模式读取文件并检查换行符的字节值。

一个可能是一个ASCII码为10的字符

,另一个将是10和13.

答案 1 :(得分:0)

std::endl相当于流媒体'\n'然后std::flush所以,不,你不会看到任何差异。您的工具更有可能期望找到Windows样式的行结尾(即CRLF而不仅仅是LF)。

std::cout << "\r\n" << std::flush;

但是,您应该只是在十六进制编辑器中打开比较数据,而不是猜测,并自己查看预期的字符。