首页 > 解决方案 > C - 逐行读取文件的最佳方法

问题描述

Stack Overflow 上的第一个帖子。如果您必须从由一行名称和 15 行数字组成的文件中读取,则该文件如下所示:

NAME1
NUM1
NUM2
...
...
...
NUM15

你也不知道文件有多少行(但它们显然是 16 的倍数),读取每一行并将其放入如下结构的最简单方法是什么:

struct something {
        char name[128];
         int nums[15]:
}

?

我用了一段时间(fgets)来读取每一行,直到 EOF 和 sscanf 来分析每一行并将其放入结构中,但我遇到了一些困难,比如加倍或因果数字。编辑:我无法发布代码,因为我是在大学 PC 上编写的,所以我现在无法访问这里

标签: c

解决方案


试试fscanf (pFile, "%s %d %d %d (15times %d for 15 integers, other datatypes requires different %...)", name, num1, num2, ....);

在某些时候 fscanf 会失败,然后您应该能够检索 EOF(使用不同的 fscanf、fgets 或其他)


推荐阅读