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

来源:互联网 发布:淘宝宝贝主图尺寸大小 编辑:程序博客网 时间:2024/06/06 03:16
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 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果4s手机显示已停用怎么办 新买的微博小号太多内容了怎么办 向海关申报价格低于实际价格怎么办 百度云下载内容包含违规信息怎么办 跨境汇款错了不能退款怎么办 公司欠钱没有还被起诉了。怎么办 战网的姓名不是身份证名字怎么办 手机号码被别人注册了微信怎么办 手机号码被别人注册过微信怎么办 手机号码换了微信密码忘了怎么办 手机号码停了微信密码忘了怎么办 微信好友发的视频删了怎么办 随机生成的微信号搜索不到怎么办 支付宝账户登录密码忘记了怎么办 淘宝支付宝登录密码忘记了怎么办 生源地贷款支付宝账号忘了怎么办 手机号丢了微信找不到密码怎么办 支付宝知道名字不知道姓怎么办 东西丢了从监控里找到怎么办 两人合影其中一人去世怎么办 税务登记证注销但是发票丢失怎么办 发票登报挂失后到国税还要怎么办 广州个体执照没办国税地税怎么办 身份信息被冒用注册了公司怎么办 二级建造师注册有效期过了怎么办 公司变更法人新刻法人章怎么办 个体户年报第一年忘了报怎么办 别人说娃名字起大了怎么办? 综英美我能怎么办我也很绝望 两个人不合适且结了婚怎么办 国税局寄来的邮件没收到怎么办 新疆办理暂住证有案底不办给怎么办 我的驾驶证吊销了车年审怎么办 好几个超速分不够扣了怎么办 刚拿c1驾照扣6分怎么办 别人开我车扣12分怎么办 办健康证大便拉不出来怎么办 欠信用卡钱被网上通缉抓到后怎么办 上海房子卖了户口没地方迁怎么办 没有户口本在北京身份证丢了怎么办 武汉科目四考试居住证过期了怎么办