我正在制作一个程序,该程序在启动时会将预定义的字符串写入文件。该文件的大小约为 5 mb,因此用 5 mb 的十六进制数据填充字符串是一个很大的变量。当我尝试编译它时,我收到一个错误,说字符串太大。5mb真的那么大吗?我将字符串分成 4 个部分,但每个部分仍然太大。:/我可以快速轻松地解决这种情况。
注意:我认为自己是一个初学者程序员,所以尽量不要太过分:P
我如何将字符串写入文件的示例:
string file_hex("huge_a**_string_goes_here_or_in_separate_cpp");
ofstream file_out;
file_out.open("tools\\c.exe", ios::binary | ios::trunc);
string res;
res.reserve(file_hex.size() / 2);
for (int i = 0; i < file_hex.size(); i += 2)
{
std::istringstream iss(file_hex.substr(i, 2));
int temp;
iss >> std::hex >> temp;
res += static_cast<char>(temp);
}
file_out << res;
file_out.close();