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
以获取更多详细信息。