1、string 转 CString CString.format("%s", string.c_str());
方法二: char* pchar= string.c_str(); CString scstr(pchar); 2、char * 转 CString CString.format("%s", char*); 3、char * 转 string string s(char *); 4、string 转 char * char *p = string.c_str(); 5、CString 转 string string s(CString.GetBuffer(CString.GetLength())); 6、CString 转 char * charpoint=strtest.GetBuffer(strtest.GetLength()); 不建议用(LPCTSTR)进行强制类型转化,这样strtest大小发生变化时会出现错误。 7、CString 转 char[100] char a[100]; CString str("aaaaaa"); strncpy(a,(LPCTSTR)str,sizeof(a)); 注意: 1、string -> CString CString.format("%s", string.c_str()); 用c_str()确实比data()要好. 2、CString -> string string s(CString.GetBuffer()); GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. 3、有三个函数可以将字符串的内容转换为字符数组和CSstring (1)data(),返回没有”/0“的字符串数组 (2)c_str(),返回有”/0“的字符串数组 (3)copy() 4、将字符转换为整数,可以使用atoi、_atoi64或atol。 5、将数字转换为CString变量,可以使用CString的Format函数 CString s; int i = 64; s.Format("%d", i) Format函数的功能很强,值得你研究一下。 性能比较: 1、安全性> CString > string > char*; 2、灵活性 CString > string >char*; 3、可移植性 char* = string > CString |