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;
}
原文地址:https://www.cnblogs.com/alazalazalaz/p/4087105.html