使用fgets()在struct中写入一个空行

时间:2015-12-05 06:25:57

标签: c

在阅读文件时,我还想阅读其空白行,但它不起作用:

while(fgets(line, 25, file) != NULL) {
   sscanf(line, "%s", fooStruct.text);
}

是否有另一种方法可以从文本中读取空行?

1 个答案:

答案 0 :(得分:1)

如果该行为空,则sscanf将返回0,表示没有成功完成的转换。在这种情况下,您只需将text设置为空字符串

即可
while(fgets(line, 25, file) != NULL) {
    if ( sscanf(line, "%s", fooStruct.text) != 1 )
        fooStruct.text[0] = '\0';   // sscanf failed, must be a blank line
}