首页 > 代码库 > 【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);