文件操作的系统调用和库函数调用的区别

来源:互联网 发布:js实现文件的上传下载 编辑:程序博客网 时间:2024/04/29 22:53

系统调用:

1. 系统函数操作文件:open,close,write,read,ioctl.包含头文件unistd.h。

2.open获得int型的文件描述符fd。

3.发生在内核空间,增加了从用户空间到内核空间的系统开销。

4.与具体的系统有关,移植性差。

5,。一般用于底层开发,如驱动开发。


库函数调用:

1.库函数操作文件:fopen,fread,fwrite,fclose,fflush,fseek等,包含头文件stdio.h.

2.fopen获得FILE型的文件指针*pf.

3.有缓存机制,当用户空间满后才写入内核空间,所以可用于大文件读写。

4.与系统无关,可移植性强。

5.基于C库,通常用于用户空间的一般程序,无法用于底层内核空间或驱动程序。

1 0
原创粉丝点击