从C中的文本文件读取int值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从C中的文本文件读取int值相关的知识,希望对你有一定的参考价值。

我有一个包含以下三行的文本文件:

12 5 6
4 2
7 9

我可以使用fscanf函数读取前三个值并将它们存储在3个变量中。但是我看不懂其余的。我尝试使用fseek函数,但仅适用于二进制文件。

请帮助我将所有值存储在整数变量中。

答案

使用fscanf的简单解决方案:

void read_ints (const char* file_name)
{
  FILE* file = fopen (file_name, "r");
  int i = 0;

  fscanf (file, "%d", &i);    
  while (!feof (file))
    {  
      printf ("%d ", i);
      fscanf (file, "%d", &i);      
    }
  fclose (file);        
}
另一答案

怎么样?

fscanf(file,"%d %d %d %d %d %d %d",&line1_1,&line1_2, &line1_3, &line2_1, &line2_2, &line3_1, &line3_2); 

在这种情况下,fscanf中的空格匹配任何空白的多次出现,直到找到下一个标记。

以上是关于从C中的文本文件读取int值的主要内容,如果未能解决你的问题,请参考以下文章