码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:style   blog   io   color   ar   os   sp   文件   div   

思路:

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

标签:style   blog   io   color   ar   os   sp   文件   div   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!