快捷搜索:  xxx  as  推理研究所  幼幼  侦探研究所

k8凯发误乐真人版:VC字符处理(二)转换(修改)



本文涉及 : char跟CString转换、string跟char转换、string 跟CString转换 还有BSTR转换成char*、char*转换成BSTR、CString转换成BSTR、BSTR转换成CString的

我们常常写法度榜样比如文件路径必要用到一样平常都是char*类型的变量作为参数通报,有些函数参数却是string或者CString,造成了常常必要转换,在这里我总结了一下:

char跟CString转换:

//CString char wchar_t 转换

//CString 转char

//措施一

CString cstr(_T("Hello Ck8凯发误乐真人版harm~!"));

wchar_t* wchar = cstr.GetBuffer();

char* c1 = new char[cstr.GetLength()+1]; cstr.Releask8凯发误乐真人版eBuffer();

wcstombs(c1,wchar,cstr.GetLength()+1);

std::coutc1std::endl;

delete c1;

//措施二

CStrik8凯发误乐真人版ng theStrink8凯发误乐真人版g( "Hello CHarm" );

LPTSTR lpsz = new TCHAR[theString.GetLength()+1];

_tcscpyk8凯发误乐真人版(lpsz, theString);

char* c2 = new char[theString.GetLength()+1];//必须动态分配足够的空间

wcstombs(c2,lpsz,theString.GetLength()+1);

std::coutc2std::endl;

delete c2;

//char wchar_t转 CString

char* p2 = "Hello CHarm";

wchar_t *p1 = new wchar_t[15];

mbstowcs(p1,p2,15);

std::wcoutp1std::endl;

CString cstr1;

cstr1.Format(_T("%s"),p1);

::MessageBox(NULL,cstr1,NULL,0);

delete p1;

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: