c++快速读写10g大文件源码
时间: 2023-10-04 18:07:04 浏览: 177
C++读取文件源码
4星 · 用户满意度95%
以下是一个使用C++快速读写10GB大文件的示例代码:
```
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::ifstream infile("example.txt", std::ios::binary);
std::ofstream outfile("output.txt", std::ios::binary);
// 设置文件流的缓存
infile.rdbuf()->pubsetbuf(nullptr, 0);
outfile.rdbuf()->pubsetbuf(nullptr, 0);
const int bufferSize = 1024 * 1024; // 1MB缓存大小
char* buffer = new char[bufferSize];
while (!infile.eof())
{
infile.read(buffer, bufferSize);
int bytesRead = infile.gcount();
outfile.write(buffer, bytesRead);
}
delete[] buffer;
infile.close();
outfile.close();
return 0;
}
```
这个代码示例假设你有一个名为"example.txt"的10GB文件,并且你想将它的内容复制到另一个名为"output.txt"的文件中。该代码使用了二进制模式打开文件,并将文件流的缓存设置为nullptr以提高读写速度。它使用了1MB的缓存来逐块读取和写入文件内容,避免了一次性加载整个文件到内存中的问题。
阅读全文