1.空间未分配char *pbuffer1;
char *pbuffer2;
这两句后没有给指针分配空间
2.while(w>a1)判断条件不对CFile file1,file2;
int a1,a2,;
char *pbuffer1;
char *pbuffer2;
if(file1.Open(Path,CFile::modeRead))//Path此时是output1.txt的路径
{
  if(file2.Open(Path2,CFile::modeRead))
  {
    pbuffer1=new char[a1=file1.GetLength()];
    pbuffer2=new char[a2=file2.GetLength()]; 
    if (a1==a2) 
      {
        file1.Read(pbuffer1,a1);
        file2.Read(pbuffer2,a2);
        w=0;
        while(w<a1)
      {
          if (*(pbuffer1+w)=*(pbuffer2+w))
w++;
          else
{  
  xxxxxxxxxxxxx;
          }
        }    
    else xxxxxxxxxxx; 
}

解决方案 »

  1.   

    为什么非要编程序实现呢?
    系统中不是有一个: comp file1 file2
    不知道您的目的
      

  2.   


    return (strcmp(pbuffer1,pbuffer2)?0:1)
      

  3.   

    不知道你是否了解HashMD5算法该算法能把一个任意长度的字符串压缩成一个128位的字符串,你可以先把两个文件的内容分别Hash一下然后,你只需要比较产生的两个128位字符串……这是我们公司产品中应用的技术…………都已经“泄露”给你了~~~~给分吧,您
      

  4.   

    Linux检查文件系统的文件完整性也是使用这种方法啊,怎么能说你们公司的哪?
      

  5.   

    用MD5算法做摘要比对就行了。(MD5算法的源程序网上多的是)
      

  6.   

    最佳搭档,comp 是什么啊,能不能写清楚啊,我是比较两给文件啊!!!
    梦里红尘,strcmp是比较两个字符串啊,我要是,能够read(pbuffer1,a1)成功的话,
    那我还问什么啊!!!
    对了,ourworld() ,我改成你写的那样了,还是read(pbuffer1,a1),那里说不能read!!!