使用特定参数从C中的文件填充数据结构

时间:2014-11-20 18:00:18

标签: c file-io struct

我正在编写一个小程序,它将读取一个文件并填充一个包含用户名和未知数量的另一个数据结构的数据结构。例如,这里是struct

struct user{
    char username[20];
    struct account bkActs[100];
};

我正在阅读一个形式为
的文件 用户名
帐户类型
帐号
帐户余额
(空白)
用户名

点。

然而,不知道该人可以拥有多少账户。在规范中,允许拥有任意数量的帐户。我该如何阅读文件来填写这个? 我之前使用过fscanf,但之所以有效,是因为我知道数据的顺序 书面和每个人的数量。任何想法?

一个例子是用文件
填充上面的数据结构 234A23
检查
123123123个
1.10

23sdf23
检查
1244332223个
1.10
储蓄
123124444个
1000.00

1 个答案:

答案 0 :(得分:0)

你可以使用fgets功能。它将在文件末尾返回NULL:

while (fgets(buf, n, fp)!=NULL) {

  //do stuff with buf

}

阅读fgets。还有函数getline,虽然它起初可能有点棘手(例如你必须检查errno以查看你是否到达文件末尾或是否发生错误)。