程序实现的方法:
函数的具体实现:
Linux 文件编程
所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。
Linux文件可分为:普通文件,目录文件,链接文件,设备文件;
Linux一点哲学,“一切皆为文件”;在Linux中对目录和设备的操作都等同于对文件的操作;
“文件”什么是文件?
系统资源(内存、硬盘、一般设备、进程间通信的通道等)的一个抽象
对系统资源进行访问的一个通用接口。
采用这种“文件”的方式有什么好处?
对资源提供通用的操作接口,可以极大地简化系统编程接口的设计。
所有执行I/O操作的系统调用使用文件描述符来表示打开的文件。
文件描述符是一个非负整数。
文件描述符可以表示各种类型的打开的文件。
对文件的操作只要使用文件描述符即可指定所操作的文件。
文件描述符: int fd
文件描述符是一个非负的整数,它是一个索引值,并指向内核中每个进程的记录表中;
一个进程启动时,都会打开三个文件:
系统调用 –打开
int open(const char * pathname , int flags , mode)
路径名 操作位 权限
返回值为整型,回到文件描述符fd中。
mode : 每个文件有9个权限位
flags 有且仅有一个, 在 <fcntl.h> 头文件中
O_RDONLY 只读打开
O_WRONLY 只写打开
O_RDWR 读,写
O_CREAT|O_RDWR 创建,读写