标准 C 库函数提供的文件操作函数如 fopen, fread, fwrite, fclose, fflush, fseek 等,需包含头文件 stdio.h。
以 fwrite 为例,其函数原型为 size_t fwrite(const void *buffer, size_t size, size_t item_num, FILE *pf),其操作对象为文件指针 FILE *pf,要想写一个文件,必须先以可写权限用 fopen 函数打开一个文件,获得所打开文件的 FILE 结构指针 pf,例如 pf=fopen("~/proj/filename", "w")。
实际上,由于库函数对文件的操作最终是通过系统调用实现的,因此,每打开一个文件所获 得的 FILE 结构指针都有一个内核空间的文件描述符 fd 与之对应。同样有相应的预定义的 FILE 指针:stdin-standard input,stdout-standard output,stderr-standard error。
库函数调用通常用于应用程序中对一般文件的访问。
库函数调用是系统无关的,因此可移植性好。
由于库函数调用是基于 C 库的,因此也就不可能用于内核空间的驱动程序中对设备的操作。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。