. 编写一个程序,实现文件复制。(源文件和目标文件名从键盘输入)
时间: 2024-02-01 17:14:17 浏览: 61
以下是一个简单的 Python 代码实现文件复制功能:
```python
# 输入源文件和目标文件名
source_file = input("请输入源文件名:")
target_file = input("请输入目标文件名:")
# 打开源文件和目标文件
with open(source_file, 'rb') as f_source, open(target_file, 'wb') as f_target:
# 读取源文件数据,写入目标文件
data = f_source.read()
f_target.write(data)
print("文件复制成功!")
```
在代码中,我们首先通过 `input()` 函数获取源文件名和目标文件名。然后使用 `with` 语句打开源文件和目标文件,使用 `'rb'` 和 `'wb'` 分别表示以二进制模式读取和写入文件。
接着,我们使用 `read()` 方法从源文件中读取数据,并使用 `write()` 方法将数据写入目标文件中。
最后,我们输出一个提示信息,表示文件复制成功。
相关问题
编写一个C++程序,实现文件复制。(源文件和目标文件名从键盘输入)
好的,以下是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` 函数从键盘输入源文件名和目标文件名,并且指定以二进制模式读取源文件和以二进制模式写入目标文件。在读取源文件时,我们使用一个循环不断读取文件内容并写入目标文件中,直到文件结尾。最后关闭源文件和目标文件,并输出复制成功的信息。
希望能够帮到你!
编写一个程序,实现文件复制。(源文件和目标文件名从键盘输入)用dev.c++
以下是一个简单的文件复制程序,可以在 Dev-C++ 中编译运行。
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string sourceFile, targetFile;
cout << "请输入源文件名:";
cin >> sourceFile;
cout << "请输入目标文件名:";
cin >> targetFile;
ifstream ifs(sourceFile, ios::binary);
if (!ifs) {
cerr << "打开源文件失败!" << endl;
return -1;
}
ofstream ofs(targetFile, ios::binary);
if (!ofs) {
cerr << "创建目标文件失败!" << endl;
return -1;
}
char buffer[1024];
while (ifs.read(buffer, sizeof(buffer))) {
ofs.write(buffer, sizeof(buffer));
}
ofs.write(buffer, ifs.gcount());
ifs.close();
ofs.close();
cout << "文件复制完成!" << endl;
return 0;
}
```
程序首先从键盘输入源文件名和目标文件名,然后打开源文件和目标文件,使用循环逐块读取源文件内容,并写入目标文件。最后关闭文件流,输出复制完成的提示。
需要注意的是,本程序采用了二进制方式读写文件,这样可以确保复制的结果与源文件完全一致。如果需要复制文本文件,可以使用文本方式读写文件。