Unter Windows überprüfen ob Speicheradresse lesbar ist (= ob char* sinnvolle Werte enthält)
-
Hallo,
ich les gerade ein paar Header/Daten aus, unwichtig welche, jedenfalls enthalten diese Pointer auf char Arrays, teilweise aber auch "Datenmüll"..
Wenn ich jetzt versuche diesen Datenmüll als char* zu verwenden stürzt das Programm logischerweise ab (bei zB -65234243 ist halt nunmal nix zum lesen
)..Meine Frage deshalb, kann ich irgendwie überprüfen ob ich nen "richtigen" char* Pointer vor mir hab (also ob der Speicherbereich auf den der Pointer zeigt lesbar ist?).. Ob sich dort dann ein String befindet kann ich selber überprüfen
mfg
-
Header enthalten nicht von sich aus datenmüll. Selbst wenn die Adresse eines Zeiger lesbar ist, bedeutet dies nicht, dass die Informationen sinnvoll sind.
Zudem hat dies mit Headern nichts zu tun.
Fehlerzu beheben in dem man prüft ob ein Zeiger gültig/ungülig ist nützt nichts!
Was ist Dein wirkliches Problem?
-
Hallo Martin,
mein richtiges Problem besteht schon im Formulierten..
Habs aber mitlerweile schon gelöst..
Scheinbar ist der Wert immmer negativ wenn es kein char* Pointer ist, so kann ich unterscheiden.Rein interesse halber würde ich trotzdem gerne wissen wie ich sowas überprüfen könnte
mfg und Danke für die Antwort
-
HereWeGo schrieb:
Scheinbar ist der Wert immmer negativ wenn es kein char* Pointer ist, so kann ich unterscheiden.
Der ist gut!
-
Wenn dein Pointer negativ ist, solltest du den Pointerarzt rufen, dein Pointer ist schwer erkrankt

Gewöhnlicherweise befindet sich eine Speicheraddresse zwischen 400000-x .
Nur als Anstoß.Achja, kein Pointer wird jemals einen negativen Wert besitzen. Ist ja auch absolut sinnlos. Oder hast du schon mal in einer Straße eine negative Hausnummer gesehen?
-
Icematix schrieb:
Achja, kein Pointer wird jemals einen negativen Wert besitzen.
Du weißt, was passieren kann, wenn man unsigned Werte als signed Werte liest?
-
mad_martin schrieb:
Icematix schrieb:
Achja, kein Pointer wird jemals einen negativen Wert besitzen.
Du weißt, was passieren kann, wenn man unsigned Werte als signed Werte liest?
Ja. Dann ist aber die Zahl negativ, nicht der Pointer
-
Na, wer weiß, was der TO da macht. Drückt sich ja reichlich vage aus.
-
Ihr habt mich falsch verstanden xD
Ich mein damit, es gibt ja 2 arten von Werte in dem Header, einmal char* Pointer und einmal was anderes..
Und wenn nicht dann is er (signed) immer negativ, ihr versteht?
mfg
-
HereWeGo schrieb:
Ihr habt mich falsch verstanden xD
(...)
ihr versteht?Nein. Liegt vermutlich daran dass du dich nicht verständlich ausdrückst.