系统调用:
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库,通常用于用户空间的一般程序,无法用于底层内核空间或驱动程序。