【VS开发】CString 转为 char *方法大全
生活随笔
收集整理的這篇文章主要介紹了
【VS开发】CString 转为 char *方法大全
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【VS開發】CString 轉為 char *方法大全
標簽(空格分隔): 【VS開發】
方法1:
CString strTemp; char szTemp[128];strTemp = _T("abckdkfei"); memset( szTemp, 0, sizeof(szTemp) ); strcpy( szTemp, strTemp.GetBuffer(strTemp.GetLength()));方法2:
char * pchar; CString str="hello"; pchar=(LPSTR)(LPCSTR)str;方法3:
char szTemp[500]; CString strTemp = "123456789"; memset(szTemp,0,sizeof(szTemp)); sprintf(szTemp,"%s",strTemp);方法4:
CString strBuf="awefasdf"; char pBuff[100]; memset(pBuff,0x00,100); memcpy(pBuff,(LPCSTR)strBuf,strBuf.GetAllocLength());方法5:
CString strBuf="awefasdf"; char *pBuff=strBuf.GetBuffer(0);如果以上方法都不可行,且轉完之后拷貝只有第一個字符,那么恭喜你,因為大概你的工程是基于UNICODE的,直接進行強制轉換肯定不行,你需要使用下面的方法進行:
方法6:
可以用API:WideCharToMultiByte進行轉換
方法7:
#include <afxpriv.h> CString strTest = _T("abcd"); USES_CONVERSION; LPSTR lpszTest = T2A(strTest);注意事項:
直接轉換在基于MBCS的工程可以,而在基于UNICODE的工程是不行的,CString會以UNICODE的形式來保存數據,強制類型轉換只會返回第一個字符
【科普】:
可以參考一下http://blog.csdn.net/liu4584945/article/details/6191370
2015-11-14 調試總結 張朋藝
轉載于:https://www.cnblogs.com/huty/p/8518938.html
總結
以上是生活随笔為你收集整理的【VS开发】CString 转为 char *方法大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于直播,所有的技术细节都在这里了(2)
- 下一篇: GIS-013-Cesium Terra