Kann man eine bereits ausgelesene Adresse einer Variable in einer anderen speichern?, wenn ja wie???
-
Um eine Adresse zu speichern, nimmst du am besten einen Zeiger. Denn genau dafür sind Zeiger nunmal da.
Und falls du einen Ganzzahltypen brauchst, um zB beliebig zu addieren und subtrahieren (was allerdings auch mit Zeigerarithmetik möglich ist), dann nimmst du am besten den Typ ptrdiff_t. int ist jedenfalls nicht dafür geeignet.
-
muss man 0x immer vor die adresse schreiben?
also 0x123456 und nicht nur 123456 ???
-
Hallo
0x123456 = hexadezimal
123456 = dezimaldas ist also nicht dasselbe. Der Compiler nimmt beides, im Speicher ist sowieso alles nur binär. Aber im Quellcode soltest du das nicht verwechseln.
bis bald
akari
-
also ich hab mal was fuer MineSweeper versucht und mir die Zeit Speicheradresse besorgt. hab mir des ganze so vor gestellt ich habe MineSweeper laufen und will dann folgenden Code Compilieren
#include <iostream> using namespace std; int main(int argc, char* argv[]) { int Punkte = 5000; int *_pkt = (int*)0x100579C; // 100579C ist bei die Speicheradresse // von MineSweeper cout *_pkt << endl; // hier gibts nen Error getchar(); return 0; }wieso kommt da dieser fehler? eigentlich muesste er mir doch die momentane zeit angeben oder?
-
Hallo
1. Es gibt keine festdefinierte Speicheraddressen von Programmen. Damit ist
100579C ist bei die Speicheradresse von MineSweeper
schon Unsinn.
2. Selbst wenn du zur Laufzeit eine korrekte aktuelle Adresse hättest, würde Windows (ab NT) verhindern das ein anderes Programm so einfach darauf zugreift. Es würde also zu Speicherzugriffsverletzung kommen.
Außerdem glaube ich mich zu erinnern, das die Speicherangaben eh relativ vom Programm sind, so das ein und derselbe Integerwert von Mineswepper und von deinem Programm aus nicht zu der gleichen physikalischen Adresse führt.bis bald
akari
-
hmmm aber die Adresse bleibt doch immer gleich jedes mal wenn ich nach ihr suche finde ich die gleiche adresse und mit TSearch dann ich ja die werte auch verändern... also muss das ja auch mit ner billigen consolen anwendung funktionieren -.-....
-
Hi!
Ich glaube diese beiden Links könnten dir bei deinem Vorhaben behilflich sein:
http://www.egocrew.de/programmierung/c_c_und_c/speicherzugriff_tutorial_teil_1
http://www.egocrew.de/programmierung/c_c_und_c/speicherzugriff_tutorial_teil_2Greetz
-
T0bi schrieb:
cout *_pkt << endl; // hier gibts nen Error..irgendeinen Error?
-
danke fuer die links schaut so aus als waere es das was ich brauche, werds mir alles mal anschaun und ausprobieren, werd dir dann später noch ein feedback gebenn, danke
@error, also es laesst sich einwandfrei testen keine fehler werden angezeigt und so... doch bei der ausführung gibts nen fehler.... kA was da alles drin stand von wegen die adresse is doof oder so
-
hmm super das Tut ist klasse jetzt funktioniert auch alles
danke