我无法根据fgetc(FILE *)实现找到FILE结构的ungetcflag成员

时间:2019-01-03 06:44:25

标签: c stdio libc

这是根据此链接的功能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和google中stdio.h的定义,但找不到成员ungetcflagungetchar

这是什么意思?

1 个答案:

答案 0 :(得分:1)

@Antti Haapala的评论足以回答问题。

这是controlling build一种实现,而不是fgetc() 实现。
 具体来说,不是fgetc)_ 的实现是您的libc,因此代码与fgetc()中的FILE定义不匹配。