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 文件发现内容全部拷贝成功。

 

相关文章
|
7月前
QuantLib学习笔记——InterestRate的应用
QuantLib学习笔记——InterestRate的应用
58 0
|
Kubernetes 网络协议 程序员
k8s 学习笔记 - LimitRange 限制范围
k8s 学习笔记 - LimitRange 限制范围
259 0
|
自然语言处理 算法 开发者
CJKAnalyzer|学习笔记
快速学习 CJKAnalyzer
162 0
CJKAnalyzer|学习笔记
|
自然语言处理 前端开发 Java
TermQuery|学习笔记
快速学习 TermQuery。
142 0
TermQuery|学习笔记
|
JSON 分布式计算 Hadoop
boolQuery | 学习笔记
快速学习 boolQuery
boolQuery | 学习笔记
|
Java 开发工具 C++
notepad++ 介绍|学习笔记
快速学习 notepad++ 介绍
notepad++ 介绍|学习笔记
|
Python
雨痕大神的《学习笔记系列》
雨痕大神的《学习笔记》可以在他的GitHub(https://github.com/qyuhen/book)下载,7000+的Star,足以证明认可度。 笔记系列陆陆续续在出版,已出版的有: 《Python 3学习笔记(上卷)》https://www.
3731 0