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

时间:2011-01-05 04:24:40

标签: c file file-io lines

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

12 5 6
4 2
7 9

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

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

2 个答案:

答案 0 :(得分:43)

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

答案 1 :(得分: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中的空格会匹配任何空格的多次出现,直到找到下一个标记。