我的C代码存在小问题。我想读取文件,直到我点击某个字符或EOF(从现在看到的参数)。 char *readUntil(FILE *stream, char character, size_t *length)
我使用此循环:int i = 0
while((i = fgetc(stream)) != character || i != EOF){}
来读取它,直到流结束或字符匹配。然而它似乎没有工作。问题是什么以及如何解决?
答案 0 :(得分:3)
这一行
while((i = fgetc(stream)) != character || i != EOF){}
将永远循环为
i = fgetc(stream)) != character
或
i != EOF
将是真的。
尝试
while((i = fgetc(stream)) != character && i != EOF){}