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

问题描述 投票:23回答:2

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

12 5 6
4 2
7 9

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

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

c file file-io scanf line
2个回答
46
投票

使用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);        
}

8
投票

怎么样?

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

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

© www.soinside.com 2019 - 2024. All rights reserved.