当前位置: 首页 > news >正文

12月10日IO

作业:使用read和write实现拷贝文件,将1.txt内容前一半拷贝给2.txt后一半拷贝给3.txt

#include <myhead.h>int main(int argc, const char *argv[])
{//打开三个文件int fd1,fd2,fd3;fd1=open("1.txt",O_RDONLY);fd2=open("2.txt",O_CREAT|O_TRUNC|O_WRONLY,0664);fd3=open("3.txt",O_CREAT|O_TRUNC|O_WRONLY,0664);if(-1==fd1||-1==fd2||-1==fd3){perror("open");return -1;}//计算被拷贝文件长度int len=lseek(fd1,0,SEEK_END);//光标到末尾计算文件长度lseek(fd1,0,SEEK_SET); //光标置回到开头//拷贝前一半char buff1[10];ssize_t res,sum;while(1){res=read(fd1,buff1,sizeof(buff1));write(fd2,buff1,res);sum+=res;if(sum>=len/2){break;}}//拷贝后一半char buff2[10];int res2;while((res2=read(fd1,buff2,sizeof(buff2)))>0){write(fd3,buff2,res2);}//关闭文件close(fd1);close(fd2);close(fd3);return 0;
}

思维导图

http://www.lryc.cn/news/501377.html

相关文章:

  • Composite Pattern
  • Springboot MVC
  • MySQL数据表记录增操作
  • maven报错“找不到符号“
  • python进阶-05-利用Selenium来实现动态爬虫
  • P1226 【模板】快速幂
  • 【C++】求第二大的数详细解析
  • 从零开始学TiDB(3)TiKV 持久化机制
  • Elasticsearch+Kibana+IK分词器+拼音分词器安装
  • 子网划分实例
  • 上海亚商投顾:创业板指震荡调整 机器人概念股再度爆发
  • 【C++ 20进阶(2):初始化 Initializer
  • 【重生之我在B站学MySQL】
  • Python实现中国象棋
  • LBS 开发微课堂|通过openGL ES轻松实现建筑物渲染及动画
  • map1[item.id]和map1.get(item.id)的区别为何前者取出的是空,后者取出的是正确的值
  • window端sqlplus连接linux_oracle11g
  • Go支付中台方案:多平台兼容与多项目对接
  • MySQL触发器的使用详解
  • 关于NLP交互式系统的一些基础入门
  • 如何在HTML中修改光标的位置(全面版)
  • PHP8 动态属性被弃用兼容方案
  • WPF表格控件的列利用模块适配动态枚举类
  • 【sgUploadImage】自定义组件:基于elementUI的el-upload封装的上传图片、相片组件,适用于上传缩略图、文章封面
  • Scala的隐式转换
  • 从视频编码的进化历程看技术革新
  • ECharts柱状图-阶梯瀑布图,附视频讲解与代码下载
  • 如何让Google快速收录你的页面?
  • 比例负载分配L(P);动态调整服务率:LDS
  • C++ ——— 类的 6 个默认成员函数之 构造函数