1
在這裏http://www.cplusplus.com/forum/general/94032/我發現了一個很好且快速的方法來按字節比較兩個文件。但它增強了依賴性。我現在正在Qt中開發一個程序。在純粹的Qt中有類似的優雅和/或相對快速的方式嗎?或者是否有任何其他算法來比較Qt中的兩個文件?我堅持不使用內存映射...按字節比較兩個文件
這是boost版本:
#include <iostream>
#include <algorithm>
#include <boost/iostreams/device/mapped_file.hpp>
namespace io = boost::iostreams;
int main()
{
io::mapped_file_source f1("test.1");
io::mapped_file_source f2("test.2");
if(f1.size() == f2.size() && std::equal(f1.data(), f1.data() + f1.size(), f2.data()))
std::cout << "The files are equal\n";
else
std::cout << "The files are not equal\n";
}
請參閱http://blog.qt.io/blog/2007/10/15/file-mapping/ – kfsone
絕對優雅。祝你好運,如果你的文件是500GB大。 –
這是一個操作系統操作。 osx和linux有'cmp'命令(這裏是C源代碼:http://www.opensource.apple.com/source/gnudiff/gnudiff-10/diffutils/cmp.c?txt) – bibi