Я не могу найти элемент ungetcflag структуры FILE в соответствии с реализацией fgetc (FILE *) - PullRequest
0 голосов
/ 03 января 2019

Это реализация функции int fgetc(FILE* fp) по этой ссылке. mirror.fsf.org

#include <stdio.h>
#include <unistd.h>

/**  fgetc(fp) -- get char from stream */

int fgetc(FILE *fp)
{
    char c;

    if (fp->ungetcflag) {
        fp->ungetcflag = 0;
        return (fp->ungetchar);
    }
    if (read (fp->fd, &c, 1) == 0)
        return (EOF);
    return (c);
}

Я попытался посмотреть определение FILE в stdio.h и в Google, но не смог найти участника ungetcflag или ungetchar.

Что это значит?

1 Ответ

0 голосов
/ 03 января 2019

@ Antti Haapala комментарий достаточно хорош для ответа.

То есть one реализация fgetc(), а не реализацияfgetc)_.
В частности, не является реализацией fgetc(), которая является вашим libc, следовательно, код не соответствует определению FILE в вашем <stdio.h>.

...