21xrx.com
2024-11-22 07:00:32 Friday
登录
文章检索 我的文章 写文章
C++文件复制操作
2023-07-06 10:41:18 深夜i     --     --
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++中实现文件复制操作的三种方法。无论使用哪种方法,都需要保证源文件和目标文件的路径正确,并且要遵守文件复制的相关法律法规。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复