C++ 如何拷贝文件 不使用ofstream
时间: 2024-01-03 16:05:36 浏览: 82
在 C++ 中可以使用标准库函数 `fread` 和 `fwrite` 来进行文件的拷贝操作,不需要使用 `ofstream`。
以下是一个示例代码:
```c++
#include <stdio.h>
int main() {
FILE *source, *target;
char buffer[1024];
size_t n;
// 打开源文件和目标文件
source = fopen("source_file.txt", "rb");
target = fopen("target_file.txt", "wb");
// 读取源文件并写入目标文件
while ((n = fread(buffer, 1, sizeof(buffer), source)) > 0) {
fwrite(buffer, 1, n, target);
}
// 关闭文件
fclose(source);
fclose(target);
return 0;
}
```
该程序会将名为 `source_file.txt` 的文件复制到名为 `target_file.txt` 的文件中。其中 `fread` 函数用于从源文件中读取数据,`fwrite` 函数用于将数据写入目标文件中。需要注意的是,`fread` 和 `fwrite` 函数的第一个参数是指向缓冲区的指针,第二个参数是每个元素的大小,第三个参数是元素的个数,第四个参数是源文件或目标文件的指针。在本例中,我们每次读取 1024 个字节,并将这些数据写入目标文件中。
阅读全文