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); }