从文件中读取整数并将其保存到数组中

时间:2012-12-16 16:56:15

标签: c

我有一个名为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;
}

2 个答案:

答案 0 :(得分: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将在循环结束时给出数组的大小,您可以检查数组的整数。

答案 1 :(得分: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++;
    }