Mycp|学习笔记

简介: 快速学习 Mycp

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频Mycp】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/10978


Mycp

 

内容简介:

一、更改代码

二、加入 while 循环

三、实现功能


一.更改代码

将读出的内容放置于 str 中,再写到目的文件中,实现 my_cp 的拷贝功能.

打开文件新建文本文档(2).txt,将以下代码复制到my_cp.c文件中

fd = open ( path ,0 WRONLY );

if ( fd ==-1)

{

perror (" open ");

return 0;

}

count = write ( fd , str , strlen ( str ));

if ( count== -1)

{

perror (" write ");

return 0;

}

并对代码做以下更改:

(1)目的文件改为 dest.txt。

(2)写入 O_CREAT,以之前方式打开,没有则创建。

(3)权限为666。

(4)变量 fd 改为 dest_fd ,代表 dest.txt文件。

dest_fd = open ( dest.txt ,O_WRONLY|O_CREAT ,0666);

if (dest_ fd ==-1)

{

perror (" open ");

return 0;

}

count = write ( dest_fd , str , count);

if ( count== -1)

{

perror ("write ");

return 0;

}

close(dest_fd)

实现了文件内容的复制。

 

二.加入 while 循环

在读写前加入 while 循环,读一次写一次,解决文件中字节较多问题。并删除打印部分代码。

while (1)

{

memset ( str ,0, sizeof ( str )); //将str清空

count = read ( fd , str ,99);//开始读取

if ( count <=0)

{

perror (" read ");

return 0;

}//未读到或出错则退出

count = write ( dest fd , str , count );//若读到则向str中写count字节

if ( count =-1)

{

perror (" write");

return 0;

}

}

开始试验,使test.txt文件中多于100个字节,观察是否能目的文件中。

结果显示成功

image.gif

 

三.实现功能

打开 my_cp.c 文件,在 main 函数传参,

做出如下更改:

(1)int main(int argc,char*argv[])//参数个数和指针数组.

(2)源文件名改为argv[1]。

(3)目的文件名由dest.txt改为argv[2]。

(4)return 0 改为 break,功能相同 。

随后编译代码,运行 my_cp test.txt wanqi.txt ,

image.gif打开 wanqi.txt 文件发现内容全部拷贝成功。

 

相关文章
|
机器学习/深度学习 人工智能 调度
学习笔记6
人工智能课程
66 0
|
Kubernetes Cloud Native Linux
K8S 初识_K8S 初识 | 学习笔记
快速学习 K8S 初识_K8S 初识
131 0
K8S 初识_K8S 初识 | 学习笔记
|
数据采集 SQL 消息中间件
第三阶段总结|学习笔记
快速学习第三阶段总结
131 0
第三阶段总结|学习笔记
|
消息中间件 SQL 负载均衡
总结|学习笔记
快速学习总结
总结|学习笔记
|
分布式计算 算法 Hadoop
fuzzyQuery | 学习笔记
快速学习 fuzzyQuery
151 0
fuzzyQuery | 学习笔记
|
Arthas 监控 测试技术
|
机器学习/深度学习 算法 开发者
总结与回顾| 学习笔记
快速学习总结与回顾。
112 0
|
负载均衡 开发者 索引
replicas|学习笔记
快速学习 replicas。
122 0
|
XML 设计模式 JavaScript
回顾 | 学习笔记
快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用。
133 0
|
开发者
SearchType 详解|学习笔记
快速学习 SearchType 详解。
244 0