使用C中的fgets读取文本文件直到EOF

Joh*_*han 5 c fgets while-loop

在C中使用fgets读取文本文件直到EOF的正确方法是什么?现在我有了这个(简化):

char line[100 + 1];
while (fgets(line, sizeof(line), tsin) != NULL) { // tsin is FILE* input
   ... //doing stuff with line
}
Run Code Online (Sandbox Code Playgroud)

具体来说,我想知道是否应该有其他东西作为时间条件?从文本文件到"行"的解析是否必须在while条件下执行?

big*_*ega 8

根据参考

成功时,函数返回str.如果在尝试读取字符时遇到文件结尾,则设置eof指示符(feof).如果在读取任何字符之前发生这种情况,则返回的指针是空指针(并且str的内容保持不变).如果发生读取错误,则设置错误指示符(ferror)并返回空指针(但str指向的内容可能已更改).

所以检查返回值是否NULL足够.解析也进入了while-body.