检查文件输入行是否为空

时间:2016-03-09 05:45:25

标签: c io

我有一个以下格式的文本文件:

  

这里的一些信息

     

此处提供更多信息

我想检查输入的行是否为空(上面的第2行)。我尝试了各种各样的东西,但它们似乎都没有用,显然我在这里缺少一些简单的东西。

void myFunc(char* file_path) {
    FILE* file;
    char buff[BUFFER_SIZE];
    file = fopen(file_name, "r");
    bool flag = false; 

    while(fgets(buff, BUFFER_SIZE, file) != NULL) {
        if(buff[0] == '\n') {
            flag = true;
        }
    }
}

我已尝试过strlen(buff) == 0strcmp(buff, "")buff[0] == '\0'以及其他许多内容,但我似乎无法让它正常运作。

1 个答案:

答案 0 :(得分:3)

第二行可能不仅仅是换行符。

您可以使用辅助函数来测试它。

void printDebug(char* line)
{
   char* cp = line;
   for ( ; *cp != '\0'; ++cp )
   {
      printf("%d ", (int)(*cp));
   }
   printf("\n");
}

通过检查打印字符的整数值,您可以判断该行是否包含多个字符,以及这些字符是什么。