Wie kann ich CString in const char* konvertieren?
-
Hi!
Wie kann ich CString in ein const char* konvertieren??
Ich habe auch etwas anderes probiert, aber ohne Erfolg!
char id[20] = {0};
CString deviceId= getValue("id");for(int i = 0; i < deviceId.GetLength(); ++i)
{
id[i] = static_cast<const char*> (deviceId.GetAt[i]);
}
Es funktioniert leider nicht!!Danke

-
char id[20] = {0}; CString deviceId = getValue("id"); strcpy( id, deviceId);
-
Hi"
Ich bekomme folgende Fehlermeldung:
error C2664: 'strcpy' : cannot convert parameter 2 from 'class CString' to 'const char *'
-
-msdn-
CString::GetBuffer(bla)
CString::ReleaseBuffer()
-
@<->
Sinnlose Kommentare brauchen wir hier nicht!
-
Ich bekomme folgende Fehlermeldung
Kompilierst Du in _UNICODE?
-
Was ist an dem Kommentar sinnlos?

-
@Spacelord
Wenn mit strcpy nicht kompiliert werden kann, bedeutet das, dass der 'const char*'-Operator des CString nicht gefunden werden konnte, was wiederum bedeutet, dass höchstwahrscheinlich mit UNICODE kompiliert wurde, womit dann wiederum GetBuffer auch einen UNICODE-Stringzeiger zurückgibt und keinen const char*-Zeiger!
-
Hi!
Ich arbeite mit ebVC++ und ich programmiere unter WindowsCE.
Ich weiss nicht wie ich feststellen kann, ob ich mit _UNICODE kompiliere!!
Wie kann ich ohne _UNICODE kompilieren??
Wenn ich CString nicht zu const char* konvertieren kann, dann wie kann ich
unsignet short zu char konvertieren??char id[20] = {0};
for(int i = 0; i < deviceId.GetLength(); ++i)
{
id[i] = (char)deviceId.GetAt[i]; // Funktioniert leider nicht!!!!!!!
}
-
Hallo Leute,
ich habe das Problem so gelöst:
const char*
KlassenName::getDeviceId()
{
char id[20] = {0};CString deviceId= getValue(DEVICE_ID);
_tcscpy((TCHAR*)id, deviceId);
return _strdup((const char
id);
}
Man muss nur beachten, dass die Funktion _strdup im Hintergrund die Funktion
malloc aufruft, deshalb müssen wir ausserhalb die Funktion free aufrufen.Z.B.
const char* str = obj.getDeviceId();Tue etwas mit str ...
free(&str);
Danke :-))))
-
Hi!
Ich habe _tcscpy((TCHAR*)id, deviceId) getestet, aber die Variable id beinhaltet nur den erste Buchstabe!!
Angenommen die deviceId ist ABC123, dann bekomme ich nur das A und
nicht ABC123Ich habe auch mit einer Schleife probiert, aber ohne Erfolg!!!
-
Nur interessehalber. Was spricht für dich denn dagegen einfach den CString zurückzugeben?
-
@Rene
jaja, du mich auch !