[英]Standard (or convenient) method to read and write tabular data to a text file in c
这可能听起来很尴尬,但我想问一下,是否有一种常用的方法是将表格数据存储在文本文件中,以便用C语言进行读写。
就像在python中一样,你可以通过f.readlines
将一个完整的文本文件加载到一个数组中,然后遍历所有的行,并用特定的字符或字符序列(分隔符) split
每一行。
你如何在C中解决这个问题?
几乎和其他任何语言一样。 选择一个字段分隔符(IE, tab
符),打开文本文件进行读取并解析每一行。
当然,在C
它永远不会像在Python
那么容易,但方法是相似的。
有一些机制,但是有一个原因可以解释为什么脚本语言在过去的二十年里变得如此受欢迎 - 在脚本语言中看起来很简单的一些任务在C语言中很重要。
您可以使用flex和bison为表编写解析器。 这实际上只有在格式定义得很好且“静态”时才有效。 它们是令人惊叹的工具,可以做的比你想象的要多,但它是一种非常重的机器,只需用脚本语言中的split()
即可完成。
您可以使用getdelim(3)
读取单个字段。 然而,这只是用POSIX.1-2008标准化的,所以这远非普遍存在。 (每个使用glibc的Linux机器都应该有它们。)
您可以使用fgets(3)
读取行并使用strchr(3)
发现拆分位置。
您可以使用fgets(3)
读取行并使用strtok(3)
来标记字符串。
您可以使用scanf(3)
执行输入和扫描; 从这里的问题看来, scanf(3)
很难正确使用。
您可以使用一次一个字符的解析方法:使用getc(3)
读取字符,检查它,使用它做一些事情,迭代直到不再有字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.