Подтвердить что ты не робот

C эквивалент fstream peek

Я знаю в С++, вы можете заглянуть в следующий символ, используя: in.peek();.

Как я могу это сделать, пытаясь "заглянуть" в следующий символ файла в C?

4b9b3361

Ответ 1

fgetc + ungetc. Может быть, что-то вроде этого:

int fpeek(FILE *stream)
{
    int c;

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

    return c;
}

Ответ 2

Вы можете использовать getc, а затем ungetc

Ответ 3

вам нужно реализовать его самостоятельно. используйте fread, чтобы прочитать следующий символ и fseek, чтобы вернуться туда, где вы были до чтения

ИЗМЕНИТЬ:

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