本文收集整理关于比较两个文本文件内容是否相等的相关议题,使用内容导航快速到达。
内容导航:
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