char* into CString

TheTank

Grünschnabel
Hallo
welche Möglichkeiten gibt es eine Variable vom Typ char* in eine Variable vom Typ CString umzuwandeln Habe es wie folgt versucht, funktioniert aber nicht!!

Code:
		m_strDaten = CString(m_sBufRes);

Ich verwenden VC 6.0
 
Inwiefern manifestiert sich dieses "geht nicht"?

PS:
Merkregel Nr. 1: "Geht nicht" ist keine gültige Problembeschreibung!
 
Hallo TheTank,

normalerweise tut's schon eine einfache Zuweisung (dein Code ist aber auch ok):
Code:
m_strDaten = m_sBufRes;
Probleme würde es in Unicode-Projekten geben (ist allerdings bei VC6 noch keine Standardvorgabe) , da char und CString dann nicht zusammenpassen.

Gruß
MCoder
 
Es ist aber ein Unicode Projekt darum kann ich nicht einfach den CString in das char schreiben, da bekomme ich sofort Error's (!)
 
Weiss nicht, ob eien Antwort noch nötig ist, aber für die, die über Google den Weg finden:
char* szTmp = "Hallo";
WCHAR lpTmp[128];
swprintf(tmp, 128, L"%s", szTmp);
CString lpCStr = lpTmp;

So wandelt man einen ANSII in einen Unicode string um. ;)
 
Hi.
char* szTmp = "Hallo";
WCHAR lpTmp[128];
swprintf(tmp, 128, L"%s", szTmp);
CString lpCStr = lpTmp;

So wandelt man einen ANSII in einen Unicode string um. ;)
Nein, so macht man das auf keinen Fall, weil das nicht funktioniert. :eek:

Konvertieren kann man z.B. mit der mbstowcs Funktion oder wie schon angesprochen mit der Windows API Funktion MultiByteToWideChar. (\edit oder mit dem A2W Makro der ATL)

Gruß
 
Zuletzt bearbeitet:
Zurück