日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【VS开发】CString 转为 char *方法大全

發布時間:2024/7/19 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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 *方法大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。