C++ - string zu groß, nachfolgende Zeichen abgeschnitten

Ich bin ein Programm zu machen, dass, wenn Sie gestartet, schreibt einen vordefinierten string in eine Datei. Die Datei ist über 5 mb groß sind, so Befüllen Sie die Zeichenfolge mit 5 mb Daten in hex ist eine große variable. Wenn ich versuche zu kompilieren, bekomme ich eine Fehlermeldung besagt, dass die Zeichenfolge ist zu groß. Ist 5 MB wirklich so groß? Ich split den string in 4 Abschnitten, aber jeder Abschnitt ist noch zu groß. :/was kann ich schnell und einfach eine Lösung dieser situation.

Hinweis: ich halte mich für einen Anfänger-Programmierer, so versuchen Sie nicht zu weit gehen in meinem Kopf 😛

Beispiel, wie Schreibe ich den string in eine Datei:

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();
  • Könnten Sie einige Beispiel-code (natürlich nicht die ganze Reihe)?
  • 240cfa010000c7442408acb2820089742404c7042406000000e86c5ef8ff89d883c4105b5e5fc38d7600c744240ce7010000c7442408acb2820089742404c7042406000000e8405ef8ffc744240ce8010000c7442408acb2820089742404c7042409000000e8205ef8ff8b1f85db7422c744240cf8010000c7442408acb2820089742404c704240a...
  • Nicht Teil der Zeichenkette ,könnten Sie den Teil des Codes, verwendet die Zeichenfolge?
  • Ich bearbeitete op zu zeigen, wie ich den string "file_hex" schreiben Sie es auf ein neues .exe-Datei.
InformationsquelleAutor mrg95 | 2013-06-01
Schreibe einen Kommentar