C.中的文件解析

  • 本文关键字:文件 c fileparsing
  • 更新时间 :
  • 英文 :


我有一个文件,我想用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", ...

相关内容

  • 没有找到相关文章

最新更新