終於搞定在VS2010中將CString轉換為const char*


最近碰到了CString 轉 const char *的問題。

以前只要簡單的一個強制轉換就OK了,可現在是不行了,搜索了很多資料,終於搞定,主要是Unicode和ANSI的問題,只要做一個轉換就可以了,不過這個過程遠沒有6.0來的那么輕松。下面這段轉換代碼也是從MSDN上獲取的。

CString str=_T("這是我的測試程序。");
// 先得到要轉換為字符的長度
const size_t strsize=(str.GetLength()+1)*2; // 寬字符的長度;
char * pstr= new char[strsize]; //分配空間;
size_t sz=0;
wcstombs_s(&sz,pstr,strsize,str,_TRUNCATE);

int n=atoi(const char*)pstr); // 字符串已經由原來的CString 轉換成了 const char*

//沒有這番轉換會報錯,無法將LPCTSTR或CString 轉換為const char*

就是每次轉換都要寫一堆上面的過程了,呵呵。

不過收獲還是不少。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM