1 概述
操作系统为了方便用户使用系统功能而对外提供的一组系统函数。称之为 系统调用,其中有文件IO一般都是对设备文件操作,当然也可以对普通文件进行操作。
一个基于Linux内核的没有缓存的IO机制。
特性:
1 没有缓存区
2 操作对象不在是流,而是文件描述符
3文件描述符 很小的非负的整数 int 0-1023(最多同时打开1024个文件)
内核每打开一个文件就会获得一个文件描述符
每个程序在启动的时候操作系统默认为其打开三个描述符与流对象匹配:
0 ==>STDIN_FILENO === stdin
1 ==>STDOUT_FILENO == stdout
2 >STDERR_FILENO == stderr
stdin,stdout,stderr,=>FILE*
fopen系列函数和open系列函数的区别:
(1)fopen是C库函数(man 3),open是系统调用(man 2),所以移植性fopen好一些
(2)fopen内