CString als LPTSTR übergeben
-
Hallo, ich möchte der Funktion nutzen.
...
CString szVersuch= "\\test\\test";if( !CreateProcess( NULL,szVersuch,NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ))
...Mun verlangt diese im zweiten Parameter einen LPTSTR. Bei mir handelt es sich dabei um einen CString. Bei der Übergabe von szVersuch bekomme ich immer die Meldung:
Konvertierung des Parameters 2 von 'class CString' in 'char *' nicht moeglichKann mir jemand sagen wie ich den CString casten muss?
Danke..
-
Hi
schreib das mal vor die Variable (char*)(const char*), damit sollte es
problemlos funktionieren.Gruss
Marc
-
Danke, klappt wunderbar.
Kannst du mir noch kurz sagen wie man da drauf kommt.Vielen Dank....
-
wobei der "saubere" MFC Weg dieser ist,
(LPTSTR)(LPCTSTR) anstelle von (char*)(const char*), da die CString Klasse bereits den LPCTSTR Operator bereitstellt ( http://msdn.microsoft.com/library/en-us/vcmfc98/html/_mfc_cstring.3a3a.operator_lpctstr.asp )
ciao veganza
-
Euch ist hoffentlich klar, dass das knallen kann, wenn man versucht, über diesen Zeiger schreibend auf den String zuzugreifen.
Bei CreateProcess, das nur ein Nullzeichen in den String einfügt, mag das noch klappen, aber ansonsten ist diese Vorgehensweise gefährlich und nicht zu empfehlen.