热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

实现文件io拷贝

思路就是定义一个字符串数组,然后从原文件不停的读,再不停的写到新的文件。当读完的时候返回值为0,跳出循环。需要注意的地方是读的时候要读的

思路就是定义一个字符串数组,然后从原文件不停的读,再不停的写到新的文件。当读完的时候返回值为0,跳出循环。

需要注意的地方是读的时候要读的个数比总长度少一个
ret = read(fd_from,buf,sizeof(buf) - 1);

1 #include <stdio.h>2 #include <stdlib.h>3 #include <unistd.h>4 #include <sys/types.h>5 #include <sys/stat.h>6 #include <fcntl.h>7 #include <error.h>8 9 int main(int argc, char *argv[])10 {11 if(argc !&#61; 3)12 {13 printf("error\n");14 exit(1);15 }
16 int fd_from &#61; open(argv[1], O_RDONLY);17 if(-1 &#61;&#61; fd_from)18 {19 perror("open1");20 exit(2);21 }22 int fd_to &#61; open(argv[2], O_WRONLY | O_CREAT, 00700);23 if(-1 &#61;&#61; fd_to)24 {25 perror("open2");26 exit(3);27 }28 int buf[128] &#61; {0};29 ssize_t ret;30 while(1)31 {32 ret &#61; read(fd_from,buf,sizeof(buf) - 1);33 if(-1 &#61;&#61; ret)34 {35 perror("read");36 }37 else if(0 &#61;&#61; ret)38 {39 printf("拷贝完毕\n");40 break;41 }42 ret &#61;&#61; write(fd_to,buf,ret);43 if(-1 &#61;&#61; ret)44 {46 }47 }48 close(fd_from);49 close(fd_to);50 return 0;51 }


推荐阅读
  • 【C/C++基础】11_用户自定义数据类型
    1.结构体类型1.1结构体类型定义的一般形式    在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为 ... [详细]
  • ubuntu下基于c++的opencv学习
    一、环境配置1、安装opencv2、makefile编写makefile模板,与c文件在同一个目录下,用make指令生成可执行文件,然后运 ... [详细]
  • From:byscz,2.0理解SIGBUS与SIGSEGVQ:SIGSEGV我能理解,但有时碰上SIGBUS,这该如何理 ... [详细]
  • 深入分析PE可执行文件是如何进行加壳和数据混淆的
    在本文,我们将以一个可执行文件的压缩过程为例,详细讲解我在过去的两天之中时如何对它进行加壳的。就像是 ... [详细]
  • 实验六提交版
    1.21.3part2共用体与结构体类型的区别?答:共用体与结构体的区别在于它们的表示方法不同。结构体内,结构体的各成员顺序排列存储,每个成员都有自己独立的存储位置,而共用体的情况 ... [详细]
  • 深入.NET学习[一]
    1,staticvoidMain(string[]args){}其中args表示命令行的参数解析Main(string[]args),Main函数的参数 ... [详细]
  • 二分图的最大匹配。每一个$0$与$1$配对,只建立满足时差大于等于$a$或者小于等于$b$的边,如果二分图最大匹配等于$n2$,那么有解,遍历每一条边输出答案,否则无解。#includ ... [详细]
  • Django 学习笔记(三)
    在模板文件中,还能嵌套入模板标签,做一些特殊处理,例如流程控制,下面将简单介绍下模板标签,主要介绍if和for ... [详细]
  • POJ 1151 Atlantis (离散化求矩形面积并)
    题意:在二维平面上给出n个矩形的顶点坐标(浮点数),每个矩形的边都平行坐标轴,求矩形覆盖的面积。数据范围:n<100,0<x,y<100000分析:由于n比较小,所以用 ... [详细]
  • 题意:求一个N个点无向图中,其中p个关键点间的最短距离.分析:比较特殊的最短路,方式类似于多源BFS,将所有关键点装入优先队列,状态中需要包含其源点的id.对每条边都要遍历,对每个 ... [详细]
  • 计算球体的体积和表面积原文:https://www.gees ... [详细]
  • 剪邮票——两次DFS ... [详细]
  • 原文:http:blog.csdn.netdamotianshengarticledetails406284171.Knn算法介绍:百度百科:http:baike.b ... [详细]
  • 实现方式1、首先设置一个Qt下的一个窗口基类;2、窗口基类继承自一个重写的QGLWidget类和一个osgViewer::Viewer类3、重新QGLWidget类& ... [详细]
  • 套路题?感觉讲不清,先写建图把每个点拆成两个,A和B,S-Ai流量1费用0,Bi-T流量1费用0ÿ ... [详细]
author-avatar
mobiledu2402851323
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有