编写一个C++程序,实现文件复制。(源文件和目标文件名从键盘输入)
时间: 2024-02-09 16:10:37 浏览: 45
好的,以下是C++程序的代码实现:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string src_file, dst_file;
cout << "请输入源文件名:" << endl;
getline(cin, src_file); // 使用 getline 函数防止文件名中有空格的情况
cout << "请输入目标文件名:" << endl;
getline(cin, dst_file);
ifstream src(src_file, ios::binary); // 以二进制模式读取源文件
ofstream dst(dst_file, ios::binary); // 以二进制模式写入目标文件
if (!src) {
cout << "打开源文件失败!" << endl;
return 1;
}
if (!dst) {
cout << "创建目标文件失败!" << endl;
return 1;
}
char buffer[1024];
while (!src.eof()) { // 读取源文件直到文件结尾
src.read(buffer, sizeof(buffer));
dst.write(buffer, src.gcount()); // 将读取的数据写入目标文件
}
src.close();
dst.close();
cout << "文件复制成功!" << endl;
return 0;
}
```
以上代码中,我们首先使用 `getline` 函数从键盘输入源文件名和目标文件名,并且指定以二进制模式读取源文件和以二进制模式写入目标文件。在读取源文件时,我们使用一个循环不断读取文件内容并写入目标文件中,直到文件结尾。最后关闭源文件和目标文件,并输出复制成功的信息。
希望能够帮到你!