我正在尝试使用 FILE* 类型读取文本文件。一切都很好,除了 fgetc() 函数。
事实上,我想检查文件中有多少个 '\n' 字符,但该函数永远不会返回该值,即使我正在读取的文件中有一个。有人遇到过这种情况吗?
我使用的代码如下:
char ch;
while (ch!=EOF) {
ch = (char) fgetc(gl_file);
if(ch=='\n') newline_counter++;
}
newline_counter
保持为 0。
最佳答案
在检查其值之前,您不会初始化 ch
,并且 ch
是 char
,而 fgetc
返回 int
。
重写为:
int ch;
while ((ch = fgetc(fp)) != EOF)
{
if(ch == '\n')
++newline_counter;
}
关于c - fgetc() 不返回 '\n' 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56306877/