如果您要读取一个非常大的文件并将其内容赋值给变量,最好的方式是逐块读取文件,而不是一次性读取整个文件。
在 C++ 中,您可以使用 ifstream 类来打开并读取文件。以下是一种可能的读取文件并将其内容存储到变量中的方法:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream infile("filename.txt");
if (infile.is_open()) {
// 获取文件大小
infile.seekg(0, ios::end);
int filesize = infile.tellg();
infile.seekg(0, ios::beg);
// 读取文件并存储到变量中
char* buffer = new char[filesize];
infile.read(buffer, filesize);
// 关闭文件
infile.close();
// 打印读取的内容
string content(buffer, filesize);
cout << content << endl;
// 释放内存
delete[] buffer;
else {
cout << "Unable to open file" << endl;
return 0;
在上述代码中,我们首先打开文件,获取文件的大小,然后读取整个文件并将其存储到一个字符数组中。最后,我们将字符数组转换为一个字符串并输出。
需要注意的是,如果您处理的是非常大的文件,那么上述方法可能会导致内存不足或程序崩溃。此时,您需要将文件拆分为多个块并逐块读取和处理文件。