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

 

相关文章
|
安全 网络协议 数据安全/隐私保护
掌握Qt和C++:构建你的第一个P2P应用程序
掌握Qt和C++:构建你的第一个P2P应用程序
585 3
|
2月前
|
缓存 运维 文字识别
《大模型驱动的智能文档解析系统:从领域适配到落地优化的全链路开发实践》
本文聚焦大模型在高端装备制造企业智能文档解析系统的落地实践,针对领域术语理解断层、长文档上下文限制、知识提取精准度不足、响应缓慢、微调成本高、稳定性差等核心痛点,提出对应解决方案:构建领域术语知识底座适配行业语境,以语义分块+关联图谱突破长文档解析瓶颈,用多轮校验+规则库保障知识可靠性,通过分层部署+多级缓存优化响应速度,采用增量微调+prompt工程降低成本并提升泛化能力,依托全链路监控+自动化运维保障长期稳定。优化后,术语识别准确率、知识逻辑完整性显著提升,单文档初步解析响应缩至3秒内,故障发生率降至1.2%,印证大模型落地需全链路协同且贴合领域需求。
170 15
|
11月前
|
移动开发 HTML5
HTML5实现的手机验证抽奖领券效果源码
这是一款基于HTML5实现的手机验证抽奖领券效果源码。在输入框输入手机号码即可点击下方的按钮来进行抽奖游戏,中奖后还会弹出提示信息,是一款比较经典的抽奖游戏源码
332 9
|
3月前
|
SQL 安全 Shell
vulnhub靶机实战_DC-3
本文介绍DC-3靶机渗透测试全过程,涵盖环境搭建、信息扫描、SQL注入、权限提升等环节。通过Joomla漏洞获取管理员密码,上传木马并提权至root,最终获取flag,是一套完整的渗透实战流程。
886 1
|
5月前
|
JSON API 数据库
产品详情查询API接口
产品详情查询API是现代电商与软件开发中的关键工具,基于RESTful架构,通过HTTP协议获取产品信息如名称、价格、库存等。本文详解其概念、原理、实现方法与应用示例,助力开发者快速掌握。
262 0
HarmonyOS Next开发教程:详解贝塞尔曲线
在鸿蒙开发中,提供了两种绘制贝塞尔曲线的方式,一种是二次贝塞尔曲线
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶汽车中的应用####
【10月更文挑战第21天】 本文探讨了深度学习中的卷积神经网络(CNN)如何革新自动驾驶车辆的视觉感知能力,特别是在复杂多变的道路环境中实现高效准确的物体检测与分类。通过分析CNN架构设计、数据增强策略及实时处理优化等关键技术点,揭示了该技术在提升自动驾驶系统环境理解能力方面的潜力与挑战。 ####
449 0
|
机器学习/深度学习 人工智能 自然语言处理
【AI系统】知识蒸馏原理
本文深入解析知识蒸馏(Knowledge Distillation, KD),一种将大型教师模型的知识高效转移至小型学生模型的技术,旨在减少模型复杂度和计算开销,同时保持高性能。文章涵盖知识蒸馏的基本原理、不同类型的知识(如响应、特征、关系知识)、蒸馏方式(离线、在线、自蒸馏)及Hinton的经典算法,为读者提供全面的理解。
1159 2
【AI系统】知识蒸馏原理
|
安全 C语言
深拷贝和浅拷贝在 C 语言中的性能对比
在C语言中,深拷贝和浅拷贝的性能存在显著差异。浅拷贝仅复制指针,速度快但可能导致数据共享问题;深拷贝则复制整个数据结构,安全但耗时较长。选择合适的拷贝方式对性能优化至关重要。
|
缓存 分布式计算 Java
详细解读MapReduce框架中的分布式缓存
【8月更文挑战第31天】
293 1