c++判断文件读取结束_C++快速入门学习笔记2|关于文件复制

这篇博客介绍了如何用C++编写一个文件复制程序,涉及C和C++两种实现方式。C语言版本通过fopen、fclose等函数实现,C++则利用ifstream简化代码。文章强调了文件指针、getc()函数的使用以及错误处理。还讨论了C++中不同文件打开模式的组合方式。
摘要由CSDN通过智能技术生成

《C++快速入门》学习笔记

b站指路:鱼C-小甲鱼

进度:P4

编程任务:编写一个文件复制程序

C语言:

312117de2e38a6f45e97d0d517c60a22.png

思路:

1、 首先确保输入参数个数正确,否则抛出错误

2、 然后用if ((in = fopen(argv[1], "rb")) == NULL)这个语句实现了用二进制可读打开源文件,并且将地址传给指针in,然后还判断了是否打开成功这三个功能。如果成功就返回指针,否则抛出错误。

3、 再用if ((out = fopen(argv[2], "wb")) == NULL)这个语句实现了和上面差不多的功能(注意是可写形式打开),值得注意的是这一块if语句当中加入了fclose(in),是为了防止【源文件能打开但是目标文件无法打开】的情况,在读取下一句退出之前关闭了输入流文件,确保了文件的安全性。这个地方容易出隐藏的bug。

4、 在确保以上无误的情况下,用while ((ch = getc(in)) != EOF)语句来不断读取in当中的字符,如果遇到文件尾,那么跳出循环。里面嵌套的if (putc(ch, out) == E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值