如何读取文件直到某些字符或EOF?

时间:2016-12-12 11:17:17

标签: c file char fgetc

我的C代码存在小问题。我想读取文件,直到我点击某个字符或EOF(从现在看到的参数)。 char *readUntil(FILE *stream, char character, size_t *length)

我使用此循环:int i = 0 while((i = fgetc(stream)) != character || i != EOF){}来读取它,直到流结束或字符匹配。然而它似乎没有工作。问题是什么以及如何解决?

1 个答案:

答案 0 :(得分:3)

这一行

while((i = fgetc(stream)) != character || i != EOF){}

将永远循环为

i = fgetc(stream)) != character

i != EOF

将是真的。

尝试

while((i = fgetc(stream)) != character && i != EOF){}