我有一个看起来像这样的文本文件:
NAME:333
VALUE:555
TEST:355
REST:224
4444
我试图提前检查空行,如果发现跳过它们(不要解析它们),我也会尝试检查空格(换行)。但是,我的代码并没有完全正常工作:
int main(void) {
FILE*ptr;
ptr = fopen("test.txt","r");
if(ptr == NULL)
return 0;
while(fgets(buffer,sizeof(buffer),ptr) != NULL) {
if(buffer[0] == "\n") //blank line, skip it
continue;
else {
if(strcmp(buffer,"\r\n") == 0)
printf("Blank Space found\n");
}
}
return 0;
}
然而,发生的事情是,当找到空白行时,执行else语句,而不是if。 (在Ubuntu系统上)。所以我不确定如何区分完全空行和带有空格的行可能会换行到下一行。
我也尝试使用strcmp来检查一个空行(显式在if语句中),但是从未执行过,即使我的文本文件中有2个空行,任何帮助都会非常感激。