linux下的文件操作系统接口(open,write,read,lseek,close)

目录

open函数

​编辑

write函数

lseek函数

read函数

close函数


以下函数都是linux下的接口

创建进程的时候会默认打开三个文件,0(stdin),1(stdout),2(stderr)

open函数

功能:

头文件: 

函数:

 返回值:

-1代表打开失败,其他代表打开成功并且获得文件操作码(file descriptor)

参数:

const char* pathname,为打开的路径(可以包括绝对路径和相对路径)

flags,打开文件采取的操作

必须包含三个中的一个且仅能是一个
O_RDONLY 以只读方式打开  
O_WRONLY 以只写方式打开 
O_RDWR 以可读可写方式打开

其他为可选,可通过|进行链接
O_CREAT 如果文件不存在则创建该文件
O_EXCL 如果使用O_CREAT选项且文件存在,则返回错误消息
O_NOCTTY 如果文件为终端,那么终端不可以调用open系统调用的那个进程的控制终端
O_TRUNC 如果文件已经存在泽删除文件中原有数据
O_APPEND 以追加的方式打开

mode_t mode, 文件访问权限的初始值,和文件和目录创建掩码umask有关,会减去umask值(可以通过umase函数设置初始掩码值),假如我们要创建文件就需要使用第三个参数的选项,否则创建出来的文件权限不正确   (4位数,八进制表示,第一位为前导0, 输入后面三位,比如0666)

write函数

功能:

头文件:

函数:

返回值:

写入成功返回写入的字节数,失败返回-1

参数

int fd要传入的流,文件操作符

const void* buf传入的内容

size_t count, 传入的字节数

lseek函数

 功能:

头文件:

函数:

 返回值:

成功,返回新的偏移量,失败返回-1

参数

int fd要设置偏移量的流,文件操作符

off_t, 设置的偏移量

int whence

SEEK_SET,在文件的开头开始偏移,offset为正
SEEK_CUR,则将文件的偏移量设置为当前值增加offset,offset可正,可负;
SEEK_END,则将文件的偏移量设置为,文件长度加offset,offset可正,可负。

 

read函数

 功能:

 头文件:

函数:

返回值:

若读取成功,则返回读到的字节数;若失败,返回-1;若已达到文件尾,则返回0。因此读到的字节数可能小于count的值

参数

int fd要读取的流,文件操作符

const void* buf读取的内容

size_t count, 读取的字节数

close函数

 功能:

头文件:

函数:

返回值:

关闭成功返回0,失败返回-1

参数

int fd要关闭的流,文件操作符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起慢慢变强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值