文本文件合并(C++实现)
直接附上代码吧
#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std; void write_into_file(){
cout<<"请输入合成后生成的文件名:"<<endl;
string Des_FileName;
cin>>Des_FileName;
cout<<endl; cout<<"请输入想要合并原始文件个数:"<<endl;
int cnt;
cin>>cnt;
cout<<endl; string Source_Array_FileName[cnt];//保存将要合并的各文件
for(int i=0;i!=cnt;++i){
cout<<"请输入第"<<i+1<<"个原始文件:"<<endl;
cin>>Source_Array_FileName[i];
cout<<endl;
}
cout<<"请稍后,马上开始合并!"<<endl<<endl;
ofstream outfile(Des_FileName,ios::out);//定义输出文件流对象,并赋初值,指定模式
ifstream infile;//定义一个输入文件流对象
char c;//用来暂存从文件独处的一个字符 for(string Temp_FileName : Source_Array_FileName){
infile.open(Temp_FileName,ios::in);
if(!infile){
cerr<<"打开文件 "<<Temp_FileName<<" 失败"<<endl;
}
while(infile.get(c)){
outfile<<c;
}
infile<<endl;
infile.close();
cout<<Temp_FileName<<"已经合并到目标文件"<<endl;
}
outfile.close();
cout<<"所有文件合并已完成"<<endl;
}
int main(){
write_into_file();
system("pause");
return 0;
}
总的来说,思路特别简单,打开一个文件,就将此文件的内容存入到目标文件中,然后执行下一个文件操作,不过吧,还是有需要注意的
在将一个源文件的内容已经转存入目标文件后,在打开另外一个源文件之前,必须先将当前的输入文件流关联的源文件关闭,即用infile.close(),不然就不能打开下一个文件
再附上一个测试结果吧


文本文件合并(C++实现)的更多相关文章
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- IO流
流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...
- io流操作大全
JAVA 中的IO流 一.流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部 ...
- javaIO整理
写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面.照旧,文章依旧以例子为主,因为 ...
- java中的IO整理
写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面.照旧,文章依旧以例子为主,因为 ...
- Java IO流详尽解析
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- java开发之IO流
一直对IO流记不清楚,从别的地方转过来. 看下图: 流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两 ...
- JAVA IO详解
[案例1]创建一个新文件 1 2 3 4 5 6 7 8 9 10 11 import java.io.*; class hello{ public static void main(Stri ...
- java基础知识----IO篇
写在前面:本文章基本覆盖了java IO的所有内容.java新IO没有涉及.文章依然以样例为主,由于解说内容的java书非常多了,我觉的学以致用才是真.代码是写出来的,不是看出来的. 最后欢迎大家提出 ...
随机推荐
- 初探boost之timer库学习笔记
timer 使用方法 #include <boost/timer.hpp> #include <iostream> using namespace std; usi ...
- Zabbix安装 Grafana安装
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 前提: 先需要安装好 lamp环境. 官方文档: https://www.zabbix.com ...
- 转载 javascript中(function($){...})(jQuery)写法是什么意思
javascript中(function($){...})(jQuery)写法是什么意思 这里实际上是匿名函数function(arg){...}这就定义了一个匿名函数,参数为arg 而调用函数 ...
- Mac 快速切换桌面快捷键
Mac系统可以新建多个桌面,我习惯开三个桌面,第一个桌面放浏览器.QQ等娱乐窗口,第二个窗口开Xcode等编程工具(不编程用Mac干啥,是吧),第三个窗口放一些笔记啊,工具什么的. 一般切换的时候,可 ...
- Qt warning: 构建目录必须和源文件目录为同级目录
从一台电脑转移项目到另一电脑, 路径发生变化,重新构建运行时会出现“QT 构建目录必须和源目录为同级目录”提示,解决办法很加单.如下: 方法一: 点击 project(项目)->然后,看看Bui ...
- Intel支持八九代酷睿的B365芯片组将登场亮相
不久前,Intel悄然推出了新款芯片组B365,看起来像是B360的升级版,但事实上二者并无太大关系. 根据最新曝料,基于B365芯片组的主板将在1月16日登场亮相,支持八九代酷睿. 同时获悉,B36 ...
- Android学习之adb异常处理
错误信息: eclipse运行Android程序时,报以下错误: The connection to adb is down, and a severe error has occured. You ...
- Luogu P1082 同余方程(exgcd模版)
传送门 求ax%b = 1,即ax - by = 1: 很明显这是一个exgcd的形式. 那么要做这道题,首先需要gcd和exgcd的算法作铺垫. gcd(辗转相膜法): int gcd(int a, ...
- PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32
systemctl status sshd● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/ ...
- 读《Top benefits of continuous integration》有感
看到一片文章<Top benefits of continuous integration>,这张图画的很棒.将整个CI流程各阶段,列举出来了. 作者在文章里面介绍了CI和TDD,以及采用 ...