Sto creando un programma che, una volta avviato, scriverà una stringa predefinita in un file. Il file ha una dimensione di circa 5 mb, quindi riempire la stringa con 5 mb di dati in esadecimale è una grande variabile. Quando provo a compilarlo, ricevo un errore nel dire che la stringa è troppo grande. 5 MB è davvero così grande? Ho diviso la stringa in 4 sezioni, ma ogni sezione è ancora troppo grande. :/cosa posso fare rapidamente e facilmente per risolvere questa situazione.C++ stringa troppo grande, caratteri finali troncati
Nota: Mi considero un programmatore principiante quindi cercate di non andare troppo lontano sopra la mia testa: P
Esempio di come scrivo la stringa in un file:
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();
Potrebbe dare qualche esempio di codice (ovviamente non l'intera stringa)? – chris
240cfa010000c7442408acb2820089742404c7042406000000e86c5ef8ff89d883c4105b5e5fc38d7600c744240ce7010000c7442408acb2820089742404c7042406000000e8405ef8ffc744240ce8010000c7442408acb2820089742404c7042409000000e8205ef8ff8b1f85db7422c744240cf8010000c7442408acb2820089742404c704240a ... – mrg95
Non fa parte della stringa, potrebbe fornire la parte di codice che utilizza la stringa? –