C相当于fstream的偷看

我知道在C ++中,你可以通过使用: in.peek();来查看下一个字符in.peek();

当我试图“偷看”C中文件的下一个字符时,我该怎么做呢?

fgetc + ungetc 。 也许是这样的:

 int fpeek(FILE *stream) { int c; c = fgetc(stream); ungetc(c, stream); return c; } 

您可以使用getc然后使用ungetc

你需要自己实现它。 使用fread读取下一个字符,然后fseek返回到读取之前的位置

编辑

  int fsneaky(FILE *stream, int8_t *pBuff, int sz) { sz = fread(pBuff, 1, sz, stream) fseek(pFile, -sz, SEEK_CUR); return(sz); }