Wie kann man CString zu const char* konvertieren?
-
Hallo,
ich würde gerne wissen, wie man CString zu const char* konvertiert?
Ich habe auch bei MSDN nachgeschaut, aber keine passende Methode
gefunden!!Ich will nur ein "+" Zeichen daran hängen!
const char* phoneNumber = "4917548845";
CString s = _T("+");
s += str;const char* result = Wie kann ich jetzt s zu const char* konvertieren?
Danke
-
Hi,
tut mir leid, aber ich sehe dein Problem nicht:
CString str("+"); const char* num = "4567"; str += num; const char* result = str;
Geht doch wunderbar.
MFG
Kai
-
einfach zuweisen. wird automatisch konvertiert
-
Hi!
Vielen Danke :-))
Ich wusste leider nicht, dass es automatisch konvertiert wird!
Viele Grüße Reza
-
Hi!
Ich habe gerade probiert, aber es wird doch nicht konvertiert!!!
Ich bekomme folgende Fehlermeldung:
error C2440: 'initializing' : cannot convert from 'class CString' to 'const char *'const char* str = "4244242";
CString s("+");
s += str;const char* result = s; // Hier knallt!!
-
const char* result = s.GetBuffer(s.GetLength());
-
Hi!
Hier kommt die Lösung:
const char* szPhoneNumber = "491742322";
char szString[LENGTH_MaxPhone] = {0};strcpy(szString, "+");
strcat(szString, szPhoneNumber);
-
Ich codiere so wie TheBigW.
-
@Reza
Du solltest schon ansagen, dass Du _UNICODE verwendest, denn dann kann der normalerweise überladene LPCTSTR()-Operator von CString nicht gefunden werden.Das wäre ihr Preis gewesen:
const char* str = _T("4244242"); CString s(_T("+")); s += str; USES_CONVERSION; const char* result = T2CA(s);
-
Hi!
Also unter settings wird _UNICODE verwendet, aber ich benutze jetzt
die Lösung von Black:const char* szPhoneNumber = "491742322";
char szString[LENGTH_MaxPhone] = {0};strcpy(szString, "+");
strcat(szString, szPhoneNumber);Es funktioniert
Trotzdem vielen Dank ;-)))
-
@Reza
Diese Lösung hat
1. nichts mit MFC zu tun
2. ist _UNICODE-inkompatibelDenn wenn Du nicht mit UNICODE arbeiten willst, dann compiliere Dein Programm mit MultiByte, und schon funktioniert die Lösung in Beitrag 1.