ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
540
540
EMPFEHLEN
-
Folgendes Problem:
Dieser Code soll den wert vom Schlüssel "Test" auslesen.
Der Schlüssel hat den Wert "yes" aber die if() abfrage funktioniert nichzt weil
der das irgendwie nicht abgleichen kann d.h. scheinbar muss ich "yes" noch irgendwie umwandeln -> aber in was?
Code :1 2 3 4 5 6 7 8 9 10 11
char dwText [MAX_PATH] = ""; HKEY hKey; RegOpenKeyEx(HKEY_CURRENT_USER, "Test", 0, KEY_READ, &hKey); RegQueryValueEx(hKey, "Test", 0, REG_SZ, (LPBYTE)&dwText , MAX_PATH); if (dwText == "yes") { cout << "yes"; }
-
05.04.04 16:05 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Das klappt nicht, weil du hier irrtümlich zwei Pointer vergleichst. dwText ist in dieser Form ein Pointer auf den ersten Character der Zeichenkette dwText[], die du oben definierst.Code :1
if (dwText == "yes")
Du benötigst einen Stringvergleich zwischen dwText und "yes". Ersetze deine Abfrage durch folgende, dann sollte es klappen:
strcmp() vergleicht zwei Zeichenketten und liefert bei Gleichheit 0 zurück. Du musst die <string.h> includen.Code :1
if ( strcmp( dwText, "yes" ) == 0 )
Übrigens ist es etwas irreführend, eine Zeichenkette mit dem Prefix "dw" zu versehen, weil "dw" normalerweise für DWORDs verwendet wird.Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
Ähnliche Themen
-
RegQueryValueEx in einen string schreiben.
Von Airic im Forum C/C++Antworten: 6Letzter Beitrag: 15.03.10, 17:26 -
RegQueryValueEx
Von neus im Forum C/C++Antworten: 1Letzter Beitrag: 28.04.09, 08:47 -
RegQueryValueEx liefert keinen/falschen Wert
Von Baron Sengir im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 22.03.06, 11:56 -
RegQueryValueEx - wie geht des
Von Tasm-Devil im Forum C/C++Antworten: 6Letzter Beitrag: 25.03.05, 22:30 -
Text aus Edit-Text Feld in eine Variable
Von andand im Forum VisualStudio & MFCAntworten: 5Letzter Beitrag: 23.06.04, 15:38





Zitieren
Login






