【领卓教育】Linux下的文件io的open(),read()和write()函数

1.首先讲解一个open()函数,这是一个打开文件的函数。
函数的定义: int open(const char *pathname,int flags[,mode_t mode]);
参数:
(1)const char *pathname:指的是要打开文件的路径+文件名,可以赋值一个字符串;
(2)int flags :要打开文件的模式,有以下几个模式
1) O_RDONLY // 只读模式
2) O_WRONLY //只写模式
3) O_EDWR //可读可写模式
4) O_CREAT //如果文件不存在,则创建这个文件,并且用第三个参数设置权限(是创建文件的权限,不是此函数要操作文件的权限)
5) O_TRUNC // 如果文件存在,则清空文件里面的内容
6) O_APPEND //如果文件存在,不清空文件里面的内容,在文件的末尾追加内容
(3)mode_t mode:
创建文件的权限 例如 0775
返回值: 成功的话返回文件的描述符(是一个非负整数)
失败返回-1,并且设置error

2.在打开一个文件后,要进行读写操作,接下来讲解一个文件的读取函数read()
文件的定义:ssize_t read(int fd, void *buf, size_t count);
函数的参数:
(1)int fd :前面打开了一个文件,这个参数是打开的文件的文件描述符
(2)void *buf: 把读取出来的东西存放的地方
(3)size_t count :要读取多少字节
函数的返回值:成功的话返回读回的字节数(因为文件的内容可能小于要读取的字节数)
失败返回-1
3. 最后讲解一个文件的写函数 write()
函数的定义:ssize_t write(int fd,const void *buf,size_t count);
wirte函数和read函数的参数的位置没有发生什么变化,但是参数的含义发生了一点变化
函数的参数:
(1)int fd :前面打开了一个文件,这个参数是打开的文件的文件描述符
(2)void *buf: 要写进文件的存放指针
(3)size_t count :要写入多少字节
函数的返回值:成功的话返回写入的字节数
失败返回-1
4.接下来是一个三个函数运用的程序:
在这里插入图片描述
在这里插入图片描述
上面这个程序很好的运用了这三个函数,首先分别打开两个文件,perror用来打印函数的错误信息,打开的文件由终端输入,然后在文件都打开成功后,读取文件1的内容,并且同时写到文件2中,直到文件1的内容被读取完毕,注意write函数的最后一个参数要用n而不是N,因为n代表的是读取了多少字节,对于写操作来说是读取多少字节写多少字节,所以不是N。

好的,谢谢大家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值