【C++】用文件流的put和get成员函数读写文件

题目

编写一个mycopy程序,实现文件复制的功能。用法是在控制台输入:

mycooy 源文件名 目标文件名

参数介绍

m a i n main main 函数的参数有两个,一个int类型参数和一个指针数组 a r g c argc argc 表示参数的个数。参数为void a r g c = 1 argc=1 argc=1,仅有默认参数可执行文件名。
a r g v argv argv 指针数组,分别为每个字符串首地址,其中argv[0]指向默认参数(可执行文件名)

操作步骤

  1. 打开控制台,输入三个参数,第一个是代码生成的可执行文件名,第二个是源文件名,第三个是目标文件名。
  2. 按回车执行。
  3. 发现Untitled2文件内容已经与Untitled3文件相同。

在这里插入图片描述


C o d e Code Code

#include <bits/stdc++.h>
using namespace std;

int main(int argc, char* argv[]) {
	if (argc != 3) {
		cout << "你输入的文件名不足\n";
		return 0;
	}
	
	ifstream iFile(argv[1], ios::binary|ios::in);
	if (!iFile) {
		cout << "源文件打开失败(文件不存在)\n";
		return 0;
	}
	
	ofstream oFile(argv[2], ios::binary|ios::out);
	if (!oFile) {
		cout << "目标文件打开/新建失败\n";
		iFile.close();
		return 0;
	}
	
	char c;
	while (iFile.get(c)) {
		oFile.put(c);
	}
	
	oFile.close();
	iFile.close();
	system("pause");
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/420945.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Github上最值得学习的10个Android开源项目,安卓面试题

1.Java语言进阶与Android相关技术核 Android应用是由Java语言进行开发的&#xff0c;SDK也是由Java语言编写&#xff0c;对于Android来说&#xff0c;只要SDK没有用Kotlin重写&#xff0c;那么Java语言是都需要学习的。而且Android APK的后台服务器程序大概率是Java语言构建&a…

一【初识EMC】

在作为硬件行业相关从业者&#xff0c;经常接触到EMC相关问题&#xff0c;下面来简单介绍下EMC相关方面的知识 文章目录 前言一、生活中的EMC现象&#xff1f;二、EMC是什么三、EMC的三要素四、EMI与EMS的评估方式1.RE2.CE3.HAR4.FLICKER5.Rs6.CS7.ESD8.EFT9.DIP10.PMS11.surge…

内置kpi接口短视频解析html源码

内置kpi接口短视频解析html源码&#xff0c;复制代码即可解析视频并 去水印 源码免费下载地址专业知识分享社区-专业知识笔记免费分享 (chaobiji.cn)

flutter旋转动画,Android彻底组件化方案实践方法

Android基础 & 常用 针对Android基础&常用知识&#xff0c;我认为对于初级开发者来说&#xff0c;按照优先级最主要的知识点主要包括&#xff1a;四大组件、布局使用、多线程 & 动画&#xff1b;具体介绍如下&#xff1a; 2. Android进阶 针对Android进阶知识&am…

Java通过Semaphore控制同一时间只有3个线程运行

怎么控制同一时间只有3个线程运行&#xff1f; 直接上代码 import java.util.Date; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore;public class SemaphoreThreadPoolExample {private static…

精酿啤酒:从原料到成品的质量控制流程

质量控制是啤酒酿造过程中重要的一环&#xff0c;它涉及到从原料选择到成品生产的每一个环节。Fendi Club啤酒对其质量控制流程有着严格的要求&#xff0c;以确保产品的品质和一致性。 Fendi Club啤酒对原料的选择进行严格把关。他们选用上好、新鲜的麦芽、水和酵母等原料&…

MySql安全加固:可信IP地址访问控制 设置密码复杂度

MySql安全加固&#xff1a;可信IP地址访问控制 & 设置密码复杂度 1.1 可信IP地址访问控制1.2 设置密码复杂度 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1.1 可信IP地址访问控制 当您在创建用户时使用’%作为主机部分&#xff0c;…

zookeeper启动报错

启动zookeeper报错 从报错中可以看到 Invalid config, exiting abnormally 意思是&#xff1a;配置无效&#xff0c;异常退出 在往上看是没有zoo.cof这个配置文件 2024-02-27 14:47:03,285 [myid:] - ERROR [main:o.a.z.s.q.QuorumPeerMain99] - Invalid config, exiting…

怎样进入powershell状态?怎样获取powershell的help信息?

进入powershell的方法之一&#xff1a;在dos命令窗口运行powershell命令&#xff0c;系统输出版权信息&#xff0c;命令行提示符前面出现PS 标志。说明系统进入powerrshell状态&#xff08;如下图&#xff09;。 获取powershell的help信息方法&#xff1a; 在powershell命令行…

android适配器adapter,Android程序员架构之路该如何继续学习

便于开发的插件、工具和第三方开源库 1.GsonFormat 使用方法&#xff1a;快捷键AltS也可以使用AltInsert选择GsonFormat&#xff0c;作用&#xff1a;速将json字符串转换成一个Java Bean&#xff0c;免去我们根据json字符串手写对应Java Bean的过程。 2.ButterKnife Zelezny …

Windows批处理:bat文件学习

目录 第一章、快速了解Windows批处理1.1&#xff09;Windows批处理相关概念介绍1.1.1&#xff09;批处理的起源1.1.2&#xff09;bat文件介绍 1.2&#xff09;Demo1.2.1&#xff09;创建文件添加命令1.2.2&#xff09;bat脚本中的命令解释 第二章、实例2.1&#xff09;点击bat文…

Java集合容器面试题

Java集合容器面试题 前言1、同步容器与并发容器之间的关系&#xff1f;2、阻塞队列的作用&#xff1f;3、阻塞队列了解多少&#xff1f;4、BlockingQueue接口中的一些方法&#xff1f;5、Java中的集合类有几种&#xff1f;6、数组和集合的区别&#xff1f;7、ArrayList、LinkLi…

【二分】二分模板+二分题目

一、朴素二分 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/binary-search/description/ int left 0, right nums.…

Windows Docker 部署 Jenkins

一、简介 今天介绍一下在 Windows Docker 中部署 Jenkins 软件。在 Windows Docker 中&#xff0c;分为两种情况 Linux 容器和 Windows 容器。Linux 容器是通常大多数使用的方式&#xff0c;Windows 容器用于 CI/CD 依赖 Windows 环境的情况。 二、Linux 容器 Linux 容器内部…

Mybatis | Mybatis的核心配置

目录: Mybatis的核心配置 :一、MyBatis的 “核心对象”1.1 SqlSessionFactory1.2 SqlSession :SqlSession对象中的操作数据库的方法 :\<T> T selectOne ( String statement )\<T> T selectOne( String statement , Object parameter )\<E> List\<E> se…

hudi索引

1.重点类 1.1.HoodieIndex 索引实现的基类&#xff0c;核心方法是两个&#xff1a;tagLocation和updateLocation   后续有不同的子类实现具体的索引 1.2.HoodieIndexFactory 没有具体这个类&#xff0c;是创建HoodieIndex的工厂类。具体操作类的名字以这个为后缀&#xff…

ESU毅速丨不锈钢材料为什么在金属3D打印中的广泛应用

不锈钢是一种传统且常见的材料&#xff0c;在金属3D打印领域应用最广。那么&#xff0c;为何不锈钢材料在3D打印中如此受欢迎呢&#xff1f;以下是几个关键原因。 卓越的工艺适应性 金属3D打印技术&#xff0c;如直接金属激光烧结&#xff08;DMLS&#xff09;和选择性激光熔融…

【论文笔记】Improving Language Understanding by Generative Pre-Training

Improving Language Understanding by Generative Pre-Training 文章目录 Improving Language Understanding by Generative Pre-TrainingAbstract1 Introduction2 Related WorkSemi-supervised learning for NLPUnsupervised pre-trainingAuxiliary training objectives 3 Fra…

【MySQL】数据查询——DQL基本数据库查询

目录 查询语法1. 查询表中所有的数据行和列&#xff0c;采用“*”符号2. 查询表中指定列的数据。3. 在查询中使用别名&#xff0c;使用“AS”关键字。4. 在查询中使用常量列&#xff1a;如果需要将一些常量的默认信息添加到输出结果中&#xff0c;以方便统计或计算。可以使用常…

Linux服务器挂了后如何再次启动SVN

Linux服务器挂了后如何再次启动SVN 启动SVN步骤grep查询kill杀掉原有的select查找目录&#xff0c;并设置启动服务DONE设置自启动 启动SVN步骤 最近在折腾AI&#xff0c;比较少更博客了&#xff0c;大家有问题可随时询问 grep查询 [rootDujinyang Code]# ps -ef |grep svn …