【发布时间】:2012-03-03 06:44:56
【问题描述】:
我只是想知道getchar() 是如何实现的?是不是像下面这样?以这种方式读取单字节的效率非常低。它是否使用一些缓冲?
伪代码:
int getchar() {
char buf[1];
int n = read(0, buf, 1);
if(n < 1)
printf("Read failed");
return buf[0];
}
【问题讨论】:
-
ungetc()的存在应该确认它需要使用 some 种类的缓冲。 -
有很多实现供您查看,只需 google 搜索即可。