gpt4 book ai didi

c - C 中的文件解析

转载 作者:行者123 更新时间:2023-11-30 20:30:36 24 4
gpt4 key购买 nike

我有一个文件,我想使用 fgets() 逐行读取该文件的内容。该文件中有 10 行。每行应包含单词“day”(在文件中出现 5 次)或单词“night”(在文件中出现 5 次)(均为小写)。

每行还可以在单​​词“day”或“night”之前或之后包含空格,并且还必须包含数字 (3, 11) 或小写字母之一每行(a,b,c)

例如:

day 3
night 11
night a
night b
day 11
night c
night 3
day a
day c
day b

我的想法是首先使用 strcmp() 检查 \n 之前的每一行是否发生“白天”或“夜晚”。如果是这样,那么我想知道这个“白天”或“夜晚”是否存在 (3, 11)(a,b,c) 。我的想法如下:如果我删除每行中的所有空格并确定后面跟着“day”或“night”的数字或字母,会怎么样。问题是我被困在这里,我不知道确定这个问题的最佳方法是什么。我所有的想法都是一种不方便实现的方法。

最佳答案

使用 fgets() 缓冲区作为 sscanf() 的输入,并让该函数为您完成空白工作

char w1[10], w2[10];
fgets(buf, sizeof buf, handle);
if (sscanf(buf, "%9s%9s", w1, w2) != 2) /* error */;
// w1 is "day" or "night"
// w2 is "a", "b", ... or "11", "3", ...

关于c - C 中的文件解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53804378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com