CString转char的方法总结
生活随笔
收集整理的這篇文章主要介紹了
CString转char的方法总结
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
From: http://www.lewensky.cn/read.php/133.htm
1.傳給未分配內(nèi)存的const char* (LPCTSTR)指針.
?? const char* ch = (LPCTSTR)cstr;
ch指向的地址和cstr相同。但由于使用const保證ch不會(huì)修改,所以安全.
2.傳給未分配內(nèi)存的指針.
CString cstr = "ASDDSD";
????char *ch = cstr.GetBuffer(cstr1.GetLength() + 1);
????cstr.ReleaseBuffer();
????//修改ch指向的值等于修改cstr里面的值.
????//PS:用完ch后,不用delete ch,因?yàn)檫@樣會(huì)破壞cstr內(nèi)部空間,容易造成程序崩潰.
3.把CString 值賦給已分配內(nèi)存的char *。
CString cstr1 = "ASDDSD";
????int strLength = cstr1.GetLength() + 1;
????char *pValue = new char[strLength];
????strncpy(pValue, cstr1, strLength);
??
4.把CString 值賦給已分配內(nèi)存char[]數(shù)組.
CString cstr2 = "ASDDSD";
????int strLength1 = cstr1.GetLength() + 1;
????char chArray[100];
????memset(chArray,0, sizeof(bool) * 100); //將數(shù)組的垃圾內(nèi)容清空.
????strncpy(chArray, cstr1, strLength1);
總結(jié)
以上是生活随笔為你收集整理的CString转char的方法总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。