说我有一个包含字符的文件。我想看看下一个字符是什么而不移动指针,只是为了“达到峰值”。我该怎么做呢?
FILE *fp;
char c, d;
fp = fopen (file, "r");
c = getc(fp);
d = nextchar?
如何在不实际再次调用getc并移动指针的情况下查看下一个字符?
答案 0 :(得分:8)
您只需使用getc()
获取下一个字符,然后拨打ungetc()
。
更新:请参阅@ Jonathan对包装器的评论,该包装器允许窥视文件的末尾(在该事件中返回EOF
)。
更新2:稍微紧凑的版本:
int fpeek(FILE * const fp)
{
const int c = getc(fp);
return c == EOF ? EOF : ungetc(c, fp);
}