我的代码通过以下语法在文件中写入整数矩阵:
for(int i = 0; i < rows; i++){
for(int j = 0; j < columns; j++){
f <<output[i*columns+j]<<' ';
}
f<<std::endl;
}
.txt文件中写入的矩阵通常具有较大的尺寸(每列10 ^ 6行)。我必须将这些文件与我已有的其他文件进行比较,以确定它们是否相等。在第一个视图打开这两个文件时,他们在我看来是相同的,但是由于尺寸太大,我无法确定只是快速查看。所以我尝试使用unix命令diff。具有两个文件的命令的结果由矩阵的所有元素组成。在Windows中用notepad ++打开两个文件我注意到一个文件被编码为ANSI而另一个文件被编码为ANSI-as-UTF8。这可能是差异的根源吗?我尝试使用较小尺寸的矩阵,文件中的元素是等于但仍然是diff命令给了我所有的元素。也可能是空格和退货问题?
答案 0 :(得分:1)
您可以指定diff来忽略空格:
diff -w file1 file2
答案 1 :(得分:0)
的可能性:
您可能正在比较unix和Windows文件。
如果是这样,请从unix上调用windows文件中的 dos2unix 命令, 然后再次重做你的差异操作。
您还可以在Notepad ++中更改当前的编码(在其中一个菜单中,取决于版本)