Fgets,检查空行与WhiteSpace(POSIX系统)

时间:2016-01-26 23:32:48

标签: c file parsing

我有一个看起来像这样的文本文件:

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个空行,任何帮助都会非常感激。

0 个答案:

没有答案