首页 > 代码库 > C++文件操作,判断两个文件内容是否相等(被修改)

C++文件操作,判断两个文件内容是否相等(被修改)

思路:

   方法1:MD5校验文件内容。

   方法2:获取文件最后修改时间。

  这里介绍方法1

 

下载MD5类库

1、头部引用:

#include "lib/md5.cpp"

2、自己写成一个function,param输入文件路径,return md5字符串

string compare(string folder1){    string fileName = folder1,content,str;    unsigned int buf_size=1000000;      //1M    ifstream file(fileName);    if(!file){cout << "open file error" <<endl; return 0;}    while (!file.eof())    {        string temp;        file>>temp;        content += temp;        if (content.size() >= buf_size)    //这里判断当前已获取的文件内容,如果大于buf_size就先把已获取的内容转换成md5字符串,        {                      //避免内容过大占内存            MD5 md5(content);            str = md5.md5();            content = str;        }    }    MD5 md5(content);    str = md5.md5();    file.close();    return str;}

3、调用

int main (){        string folder_1a = "e:\\vs2012\\file\\folder1\\a.csv";    string str_1a = compare(folder_1a);        cout<<str_1a<<endl;}

 

C++文件操作,判断两个文件内容是否相等(被修改)