CString > charArray
-
Möchte gerne einen Ctring in ein char Array Kopieren verusche das im Moment so.
char frames [512]; CString strValue = "Hallo"; strcpy(frames,strValue);
Bekommen dann aber beim Compilieren folgenden Fehler:
"error C2664: 'strcpy' : Konvertierung des Parameters 2 von 'class CString' in 'const char *' nicht moe"
-
Lass dir mal per GetBuffer() einen Pointer auf den Buffer des CString zurückgeben.
strcpy_s(frames, sizeof(frames), strValue.GetBuffer());
Und ReleaseBuffer nicht vergessen !
-
R3dNeXX schrieb:
Und ReleaseBuffer nicht vergessen !
Muss er doch in diesem Fall (nur lesend) nicht.
-
Das ist nicht die Ursache des Fehlers.
strcpy will einen const char*, als zweiten Parameter. Also kann GetBuffer keine Hilfe sein!Ich befürchte eher wieder ein MBCS / Unicode Problem.
char *strcpy( char *strDestination, const char *strSource ); wchar_t *wcscpy( wchar_t *strDestination, const wchar_t *strSource );
@_matze:
ReleaseBuffer ist nur nötig, wenn der String auch geändert wurde, bzw. genauer: Nur dann wenn seine Länge verändert wurde!
-
Martin Richter schrieb:
@_matze:
ReleaseBuffer ist nur nötig, wenn der String auch geändert wurde, bzw. genauer: Nur dann wenn seine Länge verändert wurde!Klar, deshalb mein Posting.
-
_matze schrieb:
Klar, deshalb mein Posting.
Upps! Sorry! Hab es genau falsch rum gelesen...