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
人工智能课程
63 0
|
机器学习/深度学习 人工智能 调度
学习笔记6
人工智能课程
57 0
|
数据安全/隐私保护
【学习笔记之我要C】练习
【学习笔记之我要C】练习
60 0
|
机器学习/深度学习 算法 开发者
神经元模型|学习笔记
快速学习神经元模型
208 0
神经元模型|学习笔记
|
开发者
手动任务|学习笔记
快速学习手动任务
66 0
手动任务|学习笔记
|
XML SQL 机器学习/深度学习
M-PEG7 | 学习笔记
快速学习 M-PEG7,介绍了 M-PEG7系统机制, 以及在实际应用过程中如何使用。
100 0
M-PEG7 | 学习笔记
|
开发工具
超详细的vimtutor学习笔记(上)
第一讲 编辑 1.1 移动光标 使用 h、j、k、l 键可以使光标实现左、下、上、右的移动。 也可以使用 ↑ ↓ ← → 进行上下左右的移动。
105 0
|
人工智能 开发者
一点一世界 | 学习笔记
快速学习一点一世界
73 0
一点一世界 | 学习笔记
|
C++ 开发者 Python
练习2|学习笔记
快速学习练习2
74 0
练习2|学习笔记
|
XML 设计模式 JavaScript
回顾 | 学习笔记
快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用。
120 0