- 18
- 0
- 约2.57万字
- 约 24页
- 2017-05-27 发布于河南
- 举报
Linux IO及文件编程
2. C 标准 I/O 库函数与 Unbuffered I/O 函数
现在看看 C 标准 I/O 库函数是如何用系统调用实现的。
fopen(3)
调用 open(2)打开指定的文件,返回一个文件描述符(就是一个
int 类型的编号),分配一个 FILE 结构体,其中包含该文件的
描述符、I/O 缓冲区和当前读写位置等信息,返回这个 FILE 结构
体的地址。
fgetc(3)
通过传入的 FILE *参数找到该文件的描述符、I/O 缓冲区和当前
读写位置,判断能否从 I/O 缓冲区中读到下一个字符,如果能读
到就直接返回该字符,否则调用 read(2),把文件描述符传进去,
让内核读取该文件的数据到 I/O 缓冲区,然后返回下一个字符。
注意,对于 C 标准 I/O 库来说,打开的文件由 FILE *指针标识,
而对于内核来说,打开的文件由文件描述符标识,文件描述符
从 open 系统调用获得,在使用 read 、write 、close 系统调用时都
您可能关注的文档
最近下载
- 《中国医院协会患者安全目标(2025版)》解读PPT课件.pptx VIP
- (高清版)DB11∕T 2423-2025 城市道路挖掘与修复技术规范.pdf VIP
- 中医执业医师--中医外科学篇.pptx VIP
- 3.3《察今》优秀精品课件.pptx VIP
- GBT 3246.2-2026 变形铝及铝合金制品组织检验方法 第2部分:低倍组织检验方法标准立项发展报告.docx VIP
- 交通事故三期鉴定标准.docx VIP
- 罗兰贝格_跨越+AI+价值鸿沟:AI+落地速度缘何远超商业变现速度?企业又当如何破局?.docx
- 智联招聘社区工作者试题.pdf
- 朱丹溪医书全集_笔记.docx VIP
- (2025)汽车驾驶员(技师)考试题库与参考答案.docx VIP
原创力文档

文档评论(0)