【问题标题】:How to read file until certain character or EOF?如何读取文件直到某个字符或 EOF?
【发布时间】:2017-04-27 05:57:23
【问题描述】:

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

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

【问题讨论】:

标签: c file char fgetc


【解决方案1】:

这一行

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

将永远循环

i = fgetc(stream)) != character

i != EOF

会是真的。

试试

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

【讨论】:

  • 谢谢。现在 i 是数字而不是字符,如何将其转换为 char 以便将其存储到数组中?
  • @JonH 在 C 中,charsigned charunsigned char 实际上是整数类型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
  • 2023-03-10
  • 2020-03-19
相关资源
最近更新 更多