现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

CString、string 和char* 之间的转换总结

2012-08-06 06:43 工业·编程 ⁄ 共 771字 ⁄ 字号 评论 3 条

char*   转成CString

Ø 可以直接构造.如下:   

char   *   p   =   "test"; 

CString   str(p); 

Ø 可以用成员函数Format   如下: 

char*   p   =   "test”; 

CString   str; 

str.Format("%s",   p);

char* 转换成string

直接从char*构造出string就可以了

                                             chat* sz= "cwsasd";

                                             string s1(sz);

string转换成char*

char *tp = const_cast<char*>(s1.c_str());

string转换成CString

CString str2;

str2.Format(L"%s", s1.c_str());

CString 转换成char*

CString str("test");

int len=str.getLength();

char *cstr=new char[len+1];

cstr[len]=0;

WideCharToMultiByte(CP_OEMCP, 0, str, -1, cstr, len, NULL, NULL);

CString 转换成string

// 方法:【先将CString转换成char*, 然后从char*构造出string】

CString t = CString(s[i]);

int len=t.GetLength();

char *cstr=new char[len+1];

cstr[len]=0;

WideCharToMultiByte(CP_OEMCP, 0, t, -1, cstr, len, NULL, NULL);

string s1(cstr);

目前有 3 条留言    访客:0 条, 博主:0 条 ,引用: 3 条

    外部的引用: 3 条

    • char * 与 string 类型相互转换方法 « 求索阁
    • 新手必看:UniCode 下 CString 转 char* 的方法 « 求索阁
    • string , CString , char* 比较 | 求索阁

    给我留言

    留言无头像?