查看文章 |
getc 和 _fillbuf
2007-09-18 17:14
在 <stdio.h> 中 #define getc(p) (--(p)->cnt >= 0 ? (unsigned char) *(p)->ptr++ : _fillbuf(p)) 自己的理解: _fillbuf(FILE *fp) 的功能是, 如果还没有给流(*FILE)分配缓存,需要给它分配缓存; 调用 read 系统调用,一次读入 bufsize 个字符到流(*FILE)的缓存中,供 getc、getchar、fgetc 等函数逐步读取; 当缓存中的字符被读完时,_fillbuf 再次读入 bufsize 个字符到流(*FILE)的缓存中。
|
最近读者:

