read()函数,write()函数,lseek()函数

1.read()函数

read()函数包含在头文件<unistd.h>中, 原型:ssize_t read(int fd,void *buf,size_t count); 函数参数的含义:从文件描述符fd所指的文件中读取count个字节的数据到buf所指向的缓冲区,count为0,不读数据,返回0,返回值就是实际读取的字节数,如果read()顺利返回实际读到的字节数,和参数count比较,若返回值<count,说明文件到了文件末尾,或 读取过程中被信号中断了读取过程,有错误时返回-1;

2.write()函数

write()函数包含在头文件<unistd.h>中, 原型:ssize_t  write(int fd,const void *buf,size_t count); 函数参数的含义:将buf所指的缓冲区中的count 个字节数据写入到文件描述符fd所指示的文件中,文件指针会随之移动,调用成功,write()返回成功写入的字节数;

3.sleek()函数

sleek()函数包含在头文件<sys/types.h>和<unistd.h>中. 原型:off_t lseek(int fildes,off_t offset,int whence); 每个已打开的文件都有一个读写位置,当打开文件通常的读写位置是指向文件的开头,若是以追加的方式打开(调用open 函数时使用了O_APPEND),则读写位置会指向文件末尾,当调用read()或creat()时,读写的位置随之增加;参数fildes为已打开的文件描述符,参数offset为根据参数whence来移动的读写位置的偏移量.文件指针的值等于当前指针的值加上offset的值,参数whence有以下三种取值: 1.SEEK_SET:从文件开始处计算偏移量,文件指针到文件开始处的偏移量为offset. 2.SEEK_CUR:从文件的指针的当前位置开始计算偏移量,文件指针值等于当前指针值加上offset的值,offset允许为负数. 3.SEEK_END:从文件的结尾处计算偏移量,文件指针值等于当前指针的值加上offset的值.offset 允许取负数; 以下是lseek的几种常用方法:

  • 将文件读写位置移动到文件开头:lseek(int fides,0,SEEK_SET);
  • 将文件读写位置移动到文件结尾:lseek(int fides,0,SEEK_END);
  • 获取文件读写指针当前的位置(相对于文件开头):lseek(int fides,0,SEEk_CUR);

注意:linux 系统不允许lseek()对tty设备进行操作;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值