用C写一个文件比较,比较两个二进制文件,如果出现不同之处,则输出不同之处的位置,程序终止在线等 100
各位大侠急求,最好能给出代码。在线等!!需要一次读入比较大的部分,如1K或者10K。然后进行比较,一个一个比较太慢,多字节比...
各位大侠急求,最好能给出代码。在线等!!
需要一次读入比较大的部分,如1K或者10K。然后进行比较,一个一个比较太慢,多字节比 展开
需要一次读入比较大的部分,如1K或者10K。然后进行比较,一个一个比较太慢,多字节比 展开
3个回答
2010-11-24
展开全部
typedef int (WINAPI ICEPUB_COMPAREFILES)(char *strFilename1,char *strFilename2);
ICEPUB_COMPAREFILES *icePub_compareFiles = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_compareFiles = (ICEPUB_COMPAREFILES *)GetProcAddress(hDLLDrv, "icePub_compareFiles");
}
int v=icePub_compareFiles("a.dat","b.dat");
if(v == 0)
AfxMessageBox("数据相同");
if(v > 0)
{
CString str1;
str1.Format("在第%d字节处不同",v);
AfxMessageBox(str1);
}
if(v == -2)
AfxMessageBox("文件长度不同,但前边数据相同");
//icePubDll@gmail.com可索取支持此函数的icePubDll.dll(20101124版)
ICEPUB_COMPAREFILES *icePub_compareFiles = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_compareFiles = (ICEPUB_COMPAREFILES *)GetProcAddress(hDLLDrv, "icePub_compareFiles");
}
int v=icePub_compareFiles("a.dat","b.dat");
if(v == 0)
AfxMessageBox("数据相同");
if(v > 0)
{
CString str1;
str1.Format("在第%d字节处不同",v);
AfxMessageBox(str1);
}
if(v == -2)
AfxMessageBox("文件长度不同,但前边数据相同");
//icePubDll@gmail.com可索取支持此函数的icePubDll.dll(20101124版)
展开全部
FILE *p1 = fopen("file1", "rb");
FILE *p2 = fopen("file2", "rb");
int pos=0;
while(fgetc(p1) == fgetc(p2))
{
pos++;
}
printf( "pos = %d\n", pos );
fclose( p1 );
fclsoe( p2 );
FILE *p2 = fopen("file2", "rb");
int pos=0;
while(fgetc(p1) == fgetc(p2))
{
pos++;
}
printf( "pos = %d\n", pos );
fclose( p1 );
fclsoe( p2 );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有时间给你看看,晚上再说。
弄出来了,给你看看主程序吧,剩下的我仔细和你说,站内联系。
int main()
{
char p;
char *pFileName = "d:/my.txt";
int Mode=1;
int ErrCode=1;
fstream f1,f2;
OpenFile(pFileName,Mode,ErrCode,f1 );
ErrCode = 0;
OpenFile(pFileName,Mode,ErrCode,f2 );
ModifyVec(Num, Data);
cout<<"结束请摁a\n";
cin>>p;
while (p!='a')
{
cin>>p;
}
return 0;
}
弄出来了,给你看看主程序吧,剩下的我仔细和你说,站内联系。
int main()
{
char p;
char *pFileName = "d:/my.txt";
int Mode=1;
int ErrCode=1;
fstream f1,f2;
OpenFile(pFileName,Mode,ErrCode,f1 );
ErrCode = 0;
OpenFile(pFileName,Mode,ErrCode,f2 );
ModifyVec(Num, Data);
cout<<"结束请摁a\n";
cin>>p;
while (p!='a')
{
cin>>p;
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询