【发布时间】:2021-10-22 19:05:09
【问题描述】:
我有以下结构
typedef struct {
Char *name;
int age;
double balance;
} info_t;
还有下面的函数
void readFile(FILE *file, info_t **arr){ }
我想解析一个 cvs 文件并使用动态内存分配将每一行(每一行包含一个名称、年龄、余额)存储到结构数组中。我该怎么做?每行的缓冲区为 256,每个字段为 24。我想动态分配结构数组和结构内的元素。顺便说一句,语言是c。
【问题讨论】:
-
通用 CSV 文件具有欺骗性易于解析。我说“欺骗性地”是因为有很多角落或特殊情况处理起来并不简单。我建议您尝试找到一个为您加载和解析 CSV 的库。
-
到目前为止你尝试了什么?
-
如果您希望
readFile函数也分配数组,那么您需要在C 中模拟通过引用传递。你必须通过成为three star programmer来做到这一点。 -
对了,你为什么需要这么多的动态分配?我可以理解您可能希望通过不创建仅使用几个字符的字符串来节省空间,但为什么要指向
info_t?那应该解决什么问题?它所做的只是增加了复杂性。 -
void readFile(FILE *file, info_t **arr)???编写代码肯定会容易得多,因此简单地 returninfo_t指针 ....
标签: c csv memory struct dynamic