标签: c filestream stdio peek
我知道在C ++中,您可以使用:in.peek();来查看下一个字符。
in.peek();
当我试图“偷看”C中文件的下一个字符时,我该怎么做呢?
答案 0 :(得分:44)
fgetc + ungetc。也许是这样的:
int fpeek(FILE *stream) { int c; c = fgetc(stream); ungetc(c, stream); return c; }
答案 1 :(得分:9)
您可以使用getc后跟ungetc
getc
ungetc
答案 2 :(得分:2)
你需要自己实现它。使用fread阅读下一个字符,fseek返回到阅读前的位置
编辑:
int fsneaky(FILE *stream, int8_t *pBuff, int sz) { sz = fread(pBuff, 1, sz, stream) fseek(pFile, -sz, SEEK_CUR); return(sz); }