从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值的主要内容,如果未能解决你的问题,请参考以下文章

将数字从文本文件读取到 C 中用户定义函数中的数组

从文本文件中读取所有内容 - C

将字符从文件读取行转换为 int 转储核心

C 语言文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )

C - 读取文件并将文本放入具有动态内存分配的字符指针

C ++从文本文件中读取并将其分成变量