本文收集整理关于比较两个文本文件内容是否相等的相关议题,使用内容导航快速到达。
内容导航:
Q1:如何编程比较两个文本文件的内容是否完全相同
//test.cpp:Definestheentrypointfortheconsoleapplication.
//
#include"stdafx.h"
#include
#defineREAD_BUFFER_SZ(1*1024)
intmain(intargc,char*argv[])
{
	FILE*file1=fopen(argv[1],"rb");
	FILE*file2=fopen(argv[2],"rb");
	unsignedcharbuf1[READ_BUFFER_SZ];
	unsignedcharbuf2[READ_BUFFER_SZ];
	intreadbyte1=0;
	intreadbyte2=0;
	intdiff=0;
	while(1){
readbyte1=fread(buf1,sizeof(char),READ_BUFFER_SZ,file1);
readbyte2=fread(buf2,sizeof(char),READ_BUFFER_SZ,file2);
if(readbyte1>0&&readbyte2>0){
if(memcmp(buf1,buf2,READ_BUFFER_SZ)){
diff=1;
break;
}else{
continue;
}	
}elseif(readbyte1==0&&readbyte2==0){
break;
}else{
diff=1;
break;
}
	}
	fclose(file1);
	fclose(file2);
	if(diff){
printf("%sand%sisdiff\n",argv[1],argv[2]);
	}else{
printf("%sand%sissame\n",argv[1],argv[2]);
	}
	return0;
}
Q2:编写程序,比较两个文本文件内容是否相同,并输出文件中第一次出现不同字符的行号和列值!
#include 
#include 
#define MA 255、int icmp(const char *a,const char *b)
{
 int i;
 for (i = 0; a[i]&&b[i]; i++) {
if (a[i]!=b[i]) {
break;
}
 }
 return i+1;
}
int main(void)
{
 FILE *fp1,*fp2;
 int n=0,fg=0;
 char c1[MA],c2[MA];
 fp1=fopen("c:\a.txt","r");/*第一个文件*/
 fp2=fopen("c:\b.txt","r");/*第二个文件*/
 while (!feof(fp1)&&!feof(fp2))
{
fgets(c1,MA,fp1);
fgets(c2,MA,fp2);
++n;
if (strcmp(c1,c2)) {
printf("第%d行第%d个字符不相同\n",n,icmp(c1,c2));
fg=1;
}
fflush(fp1);
fflush(fp2);
}
if (!fg) {
printf("两个文件相同");
 }
 else if (!feof(fp1)!feof(fp2)) {
printf("第%d行不相同",n);
 }
 fclose(fp1);
 fclose(fp2);
 return 0;
}
Q3:比较两个文本文件是否相同 并输出两个文件内容首次出现不同的行号和字符位置
//---------------------------------------------------------------------------
#include 
#include 
#define MA 255、int icmp(const char *a,const char *b)
{
 int i;
 for (i = 0; a[i]&&b[i]; i++) {
if (a[i]!=b[i]) {
break;
}
 }
 return i+1;
}
int main(void)
{
 FILE *fp1,*fp2;
 int n=0,fg=0;
 char c1[MA],c2[MA];
 fp1=fopen("c:\a.txt","r");/*第一个文件*/
 fp2=fopen("c:\b.txt","r");/*第二个文件*/
 while (!feof(fp1)&&!feof(fp2))
{
fgets(c1,MA,fp1);
fgets(c2,MA,fp2);
++n;
if (strcmp(c1,c2)) {
printf("第%d行第%d个字符不相同\n",n,icmp(c1,c2));
fg=1;
}
fflush(fp1);
fflush(fp2);
}
if (!fg) {
printf("两个文件相同");
 }
 else if (!feof(fp1)!feof(fp2)) {
printf("第%d行不相同",n);
 }
 fclose(fp1);
 fclose(fp2);
 return 0;
}
//---------------------------------------------------------------------------
Q4:编写程序,比较两个文本文件内容是否相同,并输出文件中第一次出现不同字符的行号和列值!拜托了各位 谢
#include