您的位置:首页 > 其它

VS2012中CSting , std::string , char * 之间的转换

2014-01-11 23:39 267 查看
首先,设置“项目属性”-“配置属性”-“常规”-“字符集”设置为使用“使用多字节字符集”

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' ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: