C相当于fstream的偷看

Ant*_*ony 27 c stdio filestream peek

我知道在C++中,您可以使用以下方式查看下一个字符:in.peek();.

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

eph*_*ent 47

fgetc + ungetc.也许是这样的:

int fpeek(FILE *stream)
{
    int c;

    c = fgetc(stream);
    ungetc(c, stream);

    return c;
}
Run Code Online (Sandbox Code Playgroud)

  • 条件是不必要的:`ungetc(EOF,foo)`是明确定义的("如果c的值等于宏EOF的值,操作失败,输入流不变") (2认同)

moo*_*dow 10

你可以使用a getc后跟一个ungetc