读取文件直到C中的一个字符
假设我有一个格式如下的文件:
key1/value1
key2/value2
key3/value3
....
假设我有一个数组来保存这些值:
char *data[10][10]
我如何读取此文件并将 key1、key2 和 key3 放入 data[0][0]、data[1][0]、和数据[2][0]。然后将value1、value2、value3分别放入data[0][1]、data[2][1]、data[3][1]中。所以实际上我想单独获取key1-key3的字符串,然后测试'/'字符然后获取value1-3的字符串。顺便说一句,当我将这些输入到文件中时,我包含了“\n”字符,这样您就可以测试它来测试换行符。
Say I have a file with the format:
key1/value1
key2/value2
key3/value3
....
Say I have an array to hold these values:
char *data[10][10]
How would I read this file and get key1, key2, and key3 into data[0][0], data[1][0], and data[2][0]. Then put value1, value2, and value3 into data[0][1], data[2][1], and data[3][1]. So actually I want to get the strings of key1-key3 individually, then test for the '/' character then get the strings of value1-3. By the way, when I'm inputting these into the file, I am including the '\n' character so you could test for that to test for the newline.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最好的方法是将每行的数据读入缓冲区,然后解析缓冲区。这可以扩展到读取大数据块。
使用
fgets
将数据读入缓冲区。使用
strchr
查找分隔符。示例:
注意:以上代码未经编译或测试,仅用于说明目的。
The best method is to read the data per line into a buffer, then parse the buffer. This can be expanded to reading in large blocks of data.
Use
fgets
for reading the data into a buffer.Use
strchr
to find the separator character.Example:
Note: The above code has not been compiled nor tested, but is for illustrative purposes only.