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

How to read file until certain character or EOF?

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

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

这一行

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

将永远循环为

i = fgetc(stream)) != character

i != EOF

会是真的。

尝试

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