首页 > 代码库 > 【APUE】文件I/O
【APUE】文件I/O
文件描述符
对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。
按照惯例,UNIX系统shell使用文件描述符0与进程的标准输入相关联,文件描述符1与标准输出相关联,文件描述符2与标准错误输出相关联。
open函数:打开或创建一个文件
#include <fcntl.h>
int open(const char *pathname,int oflag,...);
pathname是要打开或创建文件的名字,oflag参数用来说明此函数的多个选项
create函数:创建文件
#include <fcntl.h>
int creat(const char *pathname,mode_t mode);
close函数
#include <unistd.h>
int close(int filedes);
lseek函数
每个打开的文件都有一个与其相关联的当前文件偏移量,表示文件内容开始处距文件开始处的字节数
#include <unistd.h>
off_t lseek(int fieldes,off_t offset,int whence)
调用lseek函数显式地为一个打开的文件设置偏移量
read函数:从打开文件中读数据
#include <unistd.h>
ssize_t read(int filedes,void *buf,size_t nbytes);
如read成功,则返回读到的字节数,如已到达文件结尾,则返回0
write函数:向打开的文件写数据
#include <unistd.h>
ssize_t write(int filedes,const void *buf,size_t nbytes);