1. 程式人生 > >關於unicode模式下CString 轉LPCSTR問題

關於unicode模式下CString 轉LPCSTR問題

原文地址:

CString str=_T("1234567890"); LPCSTR lpstr=(LPCSTR)str.GetBuffer(); 這個時候,lpstr的值卻為“1”,僅為str中的首個字元。 找了許久,始終沒有找到解決方案,最後想到一個方法: 因為LPCSTR為ansi字串,而CString為unicode編碼,因此可以通過T2A方式進行強轉就可以了 LPCSTR lpstr=T2A(str); 這樣當然還不行,還得將它轉為LPCSTR型別: LPCSTR lpstr=(LPCSTR)T2A(str); OK,搞定!