c - 将 C 中的 ASCII 表作为数组导入

标签 c arrays

我有一系列数据保存为 ASCII 文件中的表格,例如:

1   100  2.345
2   342  8.233
3   65   89.23

在使用 Python 工作几年后,我刚刚回到 C 并且想知道是否已经有任何库可以执行此导入?像 Python 中的 numpy.loadtxt() 这样的东西?例如输出一个 float 或一个 double 数组?我记得以前我不得不自己写一个程序来用C(例如C99)来完成这项工作,有没有任何标准的包可以导入?如何将结果保存到 ASCII 文件中?我可以自己为这两者编写一个程序,但我不想重复其他人在我之前所做的事情!

最佳答案

对于机器生成的具有常规范式的文件,fscanf() 可以完美运行:

int index;
int x;
double y;

while (fscanf(infile, "%d %d %lf\n", &index, &x, &y) == 3) {
    /* ... */
}

如果您希望能够处理具有任意数量列的文件,并且只是将文件输入到您以后可以搜索或操作的数据结构中,那么最好使用程序或脚本来生成相同的文件CSV 或 XML 格式的表格。然后,使用类似 libcsv 的库或 Mini-XML为您解析文件。

关于c - 将 C 中的 ASCII 表作为数组导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415575/

相关文章:

转换为多线程套接字应用程序

c - gcc 预处理器 typedef 名称替换

php foreach 循环多维数组有问题

c# - 在 c# 的 xml 序列化中是否有跳过空数组的属性?

php - json 编码和替换 JSON_UNESCAPED_UNICODE

PHP mysqli - 从准备好的语句返回关联数组

c - float 和双输出

c - 学习C : noob suitable debugger

c - 期待;在字符串声明的末尾

c - 用C语言读取32位二进制