offset ändern
-
Ich bin noch relativ neu in der C++ Programmierung und hab mir schon ein ziemlich schwieriges Projekt gestartet. Ich will in einer Datei einen offset ändern. Also ich will zum Beispiel bei Offset 0174 den Wert FF in D9 ändern. Ich denk ma das muss man irgendwie mit ifstream oder ofstream machen, lieg ich da richtig? Könnt ihr mir ein kleinen Denkanstoß geben wie man eine Datei hexadezimal ändern kann?
-
Hallo
ob du die Datei hex oder sonstwas aendern willst ist eigentlich egal
du solltest die Datei binaer einlesen
den Dateizeiger auf diese Position stellen
den Wert ueberschreiben (vorher pruefen ?)
die Datei wier abspeichernMfG
Klaus
-
Ich hab mir das aus irgend ner anderen Hilfeseite, is das so richtig? Ich will nur zu Testzwecken erstma den Wert ausgeben. Wie kann man zu den jeweiligen Punkt springen?
using namespace std; int main(); int var1,var2; { ifstream myFile; myFile.open("eikctl.rsc",ios::in|ios::binary); if (!myFile) { Label1->Caption="Fehler"; // Fehlerbehandlung } //Daten lesen myFile.read(reinterpret_cast<char*>(&var1), sizeof(var1)); myFile.read(reinterpret_cast<char*>(&var2), sizeof(var2)); //gibt in Label1 aus Label1->Caption =var1;
-
Hallo
ifstream.seekg(...);allerdings gehört das schon wieder ins C++ Forum
bis bald
akari
-
so klappt bis jetzt. Jetzt hab ich noch ne Frage, kann man das öffnen der Datei auch mit nem OpenDialog verbinden? Meine bisherigen Versuch sind immer schief gegangen.
So siehts bis jetzt aus:
using namespace std; int main(); char var1,var2; { //Datei öffnen fstream myFile("eikctl.rsc",ios::in|ios::hex|ios::out|ios::hex); if (!myFile) { Label1->Caption="Fehler"; // Fehlerbehandlung } myFile.seekg(118); //zum Punkt springen myFile << "C"; //in Variable schreiben myFile.seekg(323); myFile << "C"; //in Datei schreiben myFile.seekg(323); myFile >> var1; //in Variable schreiben //Label1 gibt Wert aus Label1->Caption=var1 myFile.close();
-
hoschie schrieb:
kann man das öffnen der Datei auch mit nem OpenDialog verbinden?
Ja kann man. Wie, das ist (mit Beispielcode) in der Hilfe zu TOpenDialog beschrieben.
Und in Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema. Danke!
-
sorry soll ich für mein Problem nochn Thread aufmachen? Die Hilfe bringt mich nämlich nicht sehr weiter
.