21xrx.com
2025-04-10 13:07:49 Thursday
文章检索 我的文章 写文章
C++文件复制操作
2023-07-06 10:41:18 深夜i     43     0
C++ 文件操作 复制

文件复制是计算机程序设计中非常基本的操作之一。在C++中,文件复制操作非常容易。下面是一些通过C++实现文件复制操作的代码示例。

1. 最基本的文件复制操作

最基本的文件复制操作需要先打开源文件和目标文件,然后按照字节流的方式将源文件的内容复制到目标文件。

#include <iostream>
#include <fstream>
using namespace std;
int main() {
  ifstream inFile("input.txt", ios::binary | ios::in);
  ofstream outFile("output.txt", ios::binary | ios::out);
  char ch;
  while (inFile.get(ch)) {
    outFile.put(ch);
  }
  inFile.close();
  outFile.close();
  return 0;
}

2. 使用缓冲区进行文件复制操作

上面的代码由于是按照字节流的方式进行复制,所以文件读写的速度会比较慢。可以考虑使用缓冲区进行文件复制操作,这样速度会更快。

#include <iostream>
#include <fstream>
using namespace std;
int main() {
  ifstream inFile("input.txt", ios::binary | ios::in);
  ofstream outFile("output.txt", ios::binary | ios::out);
  const int bufferSize = 1024; // 缓冲区大小
  char buffer[bufferSize];
  while (inFile.read(buffer, bufferSize)) {
    outFile.write(buffer, bufferSize);
  }
  outFile.write(buffer, inFile.gcount());
  inFile.close();
  outFile.close();
  return 0;
}

3. 使用C++标准库进行文件复制操作

除了使用底层的流操作外,C++标准库也提供了很多功能强大、易用的文件操作函数。下面是使用C++标准库进行文件复制操作的代码示例。

#include <iostream>
#include <fstream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main() {
  fs::path inFilePath("input.txt");
  fs::path outFilePath("output.txt");
  fs::copy_file(inFilePath, outFilePath);
  return 0;
}

以上是C++中实现文件复制操作的三种方法。无论使用哪种方法,都需要保证源文件和目标文件的路径正确,并且要遵守文件复制的相关法律法规。

  
  

评论区

请求出错了