-1

我有一个名为 plain.txt 的文件,其中包含一个整数,例如 2500 我想打开这个文件并读取该整数,然后将其与另一个整数进行比较!!在这里我想将纯文本的值与K进行比较。如何将值保存到另一个整数中进行比较?

int main(){
   int c,k=2000;
   FILE  *f;
   f=fopen("plain.txt", "r");
   c=getc(f);
   while(c!=EOF){
      putchar(c);
      c=getc(f);
   }
   fclose(f);

   return 0;
}
4

2 回答 2

1

getc()读取字符。如果文件仅包含整数,您可以执行以下操作并摆脱 getc() 调用。

int arr[100]; // Change the size accordingly or dynamically allocate.
int i=0;
    while(fscanf("%d", &c) == 1 ){
      arr[i]=c;
      i++;
    }

i将在循环结束时给出数组的大小,您可以检查数组中的整数。

于 2012-12-16T17:03:10.830 回答
0

我知道为时已晚,但我想告诉您,我也尝试了第一个答案并得到了错误的答案。上述解决方案的问题是 fscanf() 需要三个参数,而您只提供两个参数。在您的情况下,所需的参数是文件指针 f 。

int arr[100]; // Change the size accordingly or dynamically allocate.
int i=0;
    while(fscanf(f,"%d", &c) == 1 ){    //here was the issue
      arr[i]=c;
      i++;
    }
于 2014-04-09T14:58:04.220 回答