首页 > 编程语言 > 详细

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

时间:2014-11-10 15:26:11      阅读:539      评论:0      收藏:0      [点我收藏+]

思路:

   方法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++文件操作,判断两个文件内容是否相等(被修改)

原文:http://www.cnblogs.com/alazalazalaz/p/4087105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!