📄 ep9_8.cpp
字号:
/*9.8 用二进制方式,把一个文件连接到另一个文件的尾部,选择适当的文件打开方式完成。*/
#include<fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
int n;
char filename[256],buf[100];
fstream sfile,dfile;
cout<<"输入源文件路径名:"<<endl;//请用s.txt
cin>>filename;//对路径各方面而言空格是无关紧要的,否则要用getline()等成员函数
sfile.open(filename,ios::in|ios::binary);//打开一个已存在的二进制文件
while(!sfile){
cout<<"源文件找不到,请重新输入路径名:"<<endl;
sfile.clear(0);//出错后,状态必须清0
cin>>filename;
sfile.open(filename,ios::in|ios::binary);
}
cout<<"输入目标文件路径名:"<<endl;//请用d.txt,s.txt接于其后;千万不可用源文件,会死循环(A行)
cin>>filename; //只能创建文件,不能建立子目录,如路径不存在则失败
dfile.open(filename,ios::app|ios::out|ios::binary);//文件指针在尾部,文件不存在可新建,并可用
if(!dfile){
cout<<"目标文件创建失败"<<endl;
return -1;
}
while(!sfile.eof()){//二进制方式需另判文件是否结束 A
sfile.read(buf,100);
n=sfile.gcount();
dfile.write(buf,n);//按实际读取字节数写
}
sfile.close();
dfile.close();
return 0;
}
//如果用word文档,则可见目标文档大小在翻倍,但只能读最前面一段,word文档构造前面有一大堆说明,
//真正链接,源文件说明要去掉,但这做不到。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -