首先,设置“项目属性”-“配置属性”-“常规”-“字符集”设置为使用“使用多字节字符集”
1、从CSting到std::string
std::string str ;
CString cstr ;
str = cstr.GetBuffer() ;
2、从std::string到CString
std::string str("test") ;
CString cstr ;
cstr.Format(TEXT("%s") , str.c_str()) ;
3、从char * 到CString
char temp[] = "test" ;
CString cstr ;
cstr.Format(TEXT("%s") , temp) ;
4、从CString到char *
方法一:
Char *temp ;
CString cstr ;
temp = cstr.GetBuffer(0) ;
cstr.ReleaseBuffer();
方法二:
CString cstr ;
LPTSTR lpsz = (LPTSTR)(LPCTSTR)cstr ;
方法三:
CString cstr("Test") ;
LPTSTR lpsz = new TCHAR[cstr.GetLength() + 1] ;
_tcscpy(lpsz , cstr) ;
5、从string到char *
方法一:
std::string str = "Test" ;
char *temp = str.data() ;
方法二:
std::string str = "Test" ;
char *temp = str.c_str() ;
方法三:
std::string str = "Test";
char temp[40] ;
str.copy(temp , 5 , 0);
*(p + 5) = '\0' ;

本文详细介绍了在C++中如何进行不同类型的字符串之间的相互转换,包括CSting到std::string、std::string到CString、char*到CString及反之等,并提供了具体的代码实现。

被折叠的 条评论
为什么被折叠?



