这个问题已经在这里有了答案:




9年前关闭。






假设我有一个包含字符的文件。我想看看下一个字符是什么,而不必移动指针,只是要“指向”它。我将如何去做呢?

FILE *fp;
char c, d;

fp = fopen (file, "r");

c = getc(fp);

d = nextchar?

我如何看待接下来出现的字符,而无需再次实际调用getc并移动指针?

最佳答案

您可以简单地使用getc()来获取下一个字符,然后调用 ungetc()

更新:请参阅@Jonathan的注释以获取一个包装器,该包装器允许窥视文件的末尾(在该事件中返回EOF)。

更新2:更紧凑的版本:

int fpeek(FILE * const fp)
{
  const int c = getc(fp);
  return c == EOF ? EOF : ungetc(c, fp);
}

关于c - 如何查看C流中的下一个字符? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7623323/

10-15 12:13