Registry
-
Hallo,
ich möchte mit dem Befehl RegSetValueExA(...) Werte in die Registry schreiben.
Als Parameter wird unter anderem die zu speichern Daten in der Form const BYTE* erwartet. Wie kann ich std::string entsprechend umwandeln?
-
std::string hat eine Methode c_str, die dir einen const char* zurückgibt.
Die Frage gehört übrigens ins WinAPI-Forum...
-
Ups Sorry.
Mit c_str() habe ich es schon ausprobiert. Compiler(MS Visual Studio 08) sagt aber :
'RegSetValueExA': Konvertierung des Parameters 5 von 'const char *' in 'const BYTE *' nicht möglich.
-
c++Neuling08 schrieb:
Ups Sorry.
Mit c_str() habe ich es schon ausprobiert. Compiler(MS Visual Studio 08) sagt aber :
'RegSetValueExA': Konvertierung des Parameters 5 von 'const char *' in 'const BYTE *' nicht möglich.Dann caste doch.
(BYTE*)(myString.c_str())Sollte doch klappen, oder?
-
BYTE : unsigned char
unsigned char Arr[20]; // für genügend Speicher sorgen std::string s; // s befuellen mit gewünschtem Zeug std::copy(s.begin(), s.end(), &Arr[0]);und der Funktion dann Arr übergeben ...
/Edit:
okay, matze war schneller und seine Lösung ist außerdem vermtl besser^^
-
Ah super danke.
Hatte grade noch eine Möglichkeit gefunden in dem mit (const unsigned char*) caste.
Nochmals Danke für die schnellen Antworten ! :).