【问题标题】:How to iterate through files in c?如何遍历c中的文件?
【发布时间】: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); 
        }
    }
}

【问题讨论】:

标签: c file


【解决方案1】:

while(!feof(f2)) 循环直到第二个文件结束。您必须同时遍历这两个文件。而不是这些while(!feof...,您应该检查每个fscanf 的结果。

一个简单的伪代码示例:

while(1)
{
  int fscanf1_result = fscanf(f1, ...);
  int fscanf2_result = fscanf(f2, ...);
  if(fscanf1_result != 1 || fscanf2_result != 1)
  {
    break;
  }
  /* rest of the code here */
};

【讨论】:

    猜你喜欢
    • 2023-01-09
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多