fgets跳过空白行

我正在编写一个C程序,它使用fgets从文件中读取每一行。 问题是,如果文件有一个空行,如何跳过它以获得下一行? 这是我到目前为止所尝试的但是没有用。

char line[100]; FILE *filePtr = fopen(filename, "r"); while(fgets(line, sizeof(line), filePtr) != NULL) //read each line of the file { if (line != "\n") { //do something } else { continue; } } 

更改

 if (line != "\n") 

 if (line[0] != '\n') 

您还可以使用strcmp函数来检查换行符

 //Check for dos and unix EOL format if(strcmp(line,"\n") || strcmp(line,"\r\n")) { //do something } else { continue; } 

另外,回答你的评论后,fgets会在从文件中读取行后增加文件指针。 如果您在Linux系统上运行代码,请尝试执行man fgets以获取更多详细信息。