在Linux中实现文本文件的复制

写这个程序这个当然要带一点挑战
挑战一:文件的长度不确定
挑战二:只能用底层I/O
(反正我觉得找这个的都是来抄作业的,如果这篇博客能帮助到你,点个赞然后在评论里写个谢谢就好了)

首先我们在Linux里面创建一个文本文件

输入内容(就用ls的重定向输出好了,乱打字也可以)

接着我们创建一个c文件(名字自己喜欢就好)

在用gedit打开,输入我写的代码(构思是要靠经验的)

#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>int main(int argc, char **argv)
{   int fd1 = -1;int fd2 = -1;char buf[11]="";int ret = 1;fd1 = open(argv[1],O_RDONLY);if(fd1 == -1){printf("file1 open error!\n");exit(1);}//由于我的umask的默认为0022,那么创建出来的文件就是0666-0022=0644fd2 = open(argv[2],O_RDWR | O_CREAT,0666);if(fd2 == -1){printf("file2 open error!\n");exit(1);}while(ret>0){ret = read(fd1,buf,10);write(fd2,buf,ret);}printf("file copy complete!\n");close(fd1);close(fd2);return 0;
}

保存退出,用gcc编译文件

我们可以看到程序没有任何错误,接下来我们就可以使用一下这个代码

我们可以看到a.txt向b.txt复制成功了,我们来看一下吧b.txt的内容

mycopy.c已经成功地将a.txt的内容复制到b.txt中

挑战一完成✔

挑战二完成✔

下次再见啦!拜拜

我的其他系列:
安卓开发日记第一天

在Linux中实现文本文件的复制_莫韵乐的小脚印笔记相关推荐

  1. 安卓开发学习日记第四天_会爬就会跑_莫韵乐的欢乐笔记

    安卓开发学习日记第四天_会爬就会跑 前情提要 安卓开发学习日记第一天Android Studio3.6安装 安卓开发学习日记第二天_破坏陷阱卡之sync的坑 安卓开发学习日记第三天_新手怪button ...

  2. 安卓开发学习日记第一天(笑)_Android Studio3.6安装_莫韵乐的快乐笔记

    安卓开发学习第一天 Android Studio3.6安装 没想到终于要写出自己的第一个博客了 反正是第一篇,有没有人看都无所谓(理智:129/129) 万事开头难,做下去就容易很多了 言归正传 工欲 ...

  3. 安卓开发学习日记第四天番外篇_用Kotlin炒冷饭——越炒越小_莫韵乐的欢乐笔记

    安卓开发学习日记第四天番外篇--用Kotlin炒冷饭--越炒越小 前情提要 安卓开发学习日记第一天_Android Studio3.6安装 安卓开发学习日记第二天_破坏陷阱卡之sync的坑 安卓开发学 ...

  4. 安卓开发学习日记第二天_破坏陷阱卡之sync的坑_莫韵乐的快乐笔记

    安卓开发学习日记第二天 前情提要:第一天的日记 经过第一天的日记,我们顺利第安装上了Android Studio3.6 第二天内容包括: 1.推荐的文件目录结构 2.如何创建一个项目 3.遇到sync ...

  5. 终于要把魔爪伸向shell编程了_命令行参数数量预检测——莫韵乐的小脚印笔记

    终于要把魔爪伸向shell编程了_命令行参数数量预检测 有时候我们在时使用shell的时候都需要传入一些参数,但是有时候我们传入的命令行参数数量不正确就很容易发生错误,因此我们需要在需要传入参数的sh ...

  6. 文件底层I/O基本操作——东写西读南开北关中位移_莫韵乐的Linux英雄传

    文件I/O基本操作--东写西读南开北关中位移 Linux王国曾经有那么一个风起云涌的年代,而在那一个年代里就有那么五位人中龙凤掀起无数的波澜,人们称他们为东写西读南开北关中位移 在Linux的文件操作 ...

  7. linux从当前目录打开fx,文件标准I/O基本操作——FX乐曲时代_莫韵乐的Linux英雄传...

    文件标准I/O基本操作--FX乐曲时代 在Linux王国的和平年代里,优秀的函数们纷纷踏上了成为直播网红的不归路,造就了最为辉煌的FX乐曲时代 在Linux的文件操作中标准I/O操作与底层I/O操作的 ...

  8. 文件标准I/O基本操作——FX乐曲时代_莫韵乐的Linux英雄传

    文件标准I/O基本操作--FX乐曲时代 在Linux王国的和平年代里,优秀的函数们纷纷踏上了成为直播网红的不归路,造就了最为辉煌的FX乐曲时代 在Linux的文件操作中标准I/O操作与底层I/O操作的 ...

  9. 如何科学养一只鸽子为你飞鸽传书——程序间异步通信_莫韵乐的Linux英雄传

    如何科学养一只鸽子为你飞鸽传书--程序间异步通信 程序间异步通信--其本质都只是将信息从A端到B端的传递,只要通信双方都做好发出信息和接收信息的准备就可以实现飞鸽传书 接下来看一下怎样如何科学养一只鸽 ...

最新文章

  1. 出身农村,大专学历!大厂程序员站错队被架空,想离职,被媳妇拿离婚威胁,好死不如赖活着!...
  2. BZOJ2118墨墨的等式[数论 最短路建模]
  3. 模型摆完pose怎么对称_糖分过浓警告!108个情侣写真pose,太好拍了!
  4. DOxygen for C++使用说明——Markdown支持
  5. .sync的一个用法
  6. html中给文章怎么设置行高,css如何设置行距?
  7. SpringCloud的Ribbon负载均衡
  8. java高并发的经验
  9. UI设计素材 | 多用途APP项目管理移动应用UI套件
  10. Powershell About Active Directory Group Membership of a domain user
  11. myisam读取速度为什么比innodb快_为什么MySQL用B+树做索引
  12. 高等数学复习笔记(一)- 高等数学基础知识、数列与函数的极限
  13. python精妙算法_YOLOv4:高速物体检测的精妙之处
  14. 深入浅出4G标准 LTE FDD和LTE TDD
  15. linux测试会使系统崩溃吗,fio 命令入门到跑路(千万不能在系统所在的分区测试硬盘性能)...
  16. C语言 栈的应用 :火车的调度(软硬座)
  17. C语言经典实例003:输出名言
  18. jira迁移问题解决(实践篇)
  19. linux glog使用
  20. 计量经济学(stata)笔记1 记录每天的进步

热门文章

  1. animators vs animations
  2. 解决Windows找不到d3dx9_25.dll
  3. VMware 安装GHOST系统
  4. 关于vegas pro 16崩溃问题
  5. Java扫雷游戏项目-1小时编写出扫雷游戏
  6. Jsp利用pageoffice实现在线excel文档的编辑并保存到服务器
  7. 数字电路实验(一)——译码器
  8. 粉尘监测(基于STM32和Android的PM2.5监测系统)
  9. WIN10 系统无法使用MAC KM LINK 联机
  10. 机电传动控制 PLC梯形图编程练习