这是根据此链接的功能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
的定义,但找不到成员ungetcflag
或ungetchar
。
这是什么意思?
答案 0 :(得分:1)
@Antti Haapala的评论足以回答问题。
这是controlling build
的一种实现,而不是fgetc()
的 实现。
具体来说,不是fgetc)_
的实现是您的libc,因此代码与fgetc()
中的FILE
定义不匹配。