【发布时间】:2021-08-20 17:11:31
【问题描述】:
我必须编写一个函数,给定两个文件,比较它们并在第三个文件中写入它们共同的每个单词,我尝试使用这个,实际上让它写在终端上看它是否有效,实际上遍历第二个文件,但它只比较第一个文件的第一个单词,有什么建议吗?
void fileCopy(FILE *f1,FILE *f2){
char fileString1[100], fileString2[100];
while(!feof(f1)){
fscanf(f1,"%s",fileString1);
while(!feof(f2)){
fscanf(f2,"%s",fileString2);
if(!strcmp(fileString1,fileString2)) printf("%s ",fileString1);
}
}
}
【问题讨论】:
-
请看Why is
while ( !feof (file) )always wrong? 你可以像这样控制循环:while(fscanf(f1, "%99s", fileString1) == 1),别忘了在内循环之前rewind(f2)。