青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 131, comments - 12, trackbacks - 0, articles - 0
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

CString與LPCWSTR、LPSTR、char*、LPWSTR等類型的轉(zhuǎn)換【轉(zhuǎn)】

CString與LPCWSTR、LPSTR、char*、LPWSTR等類型的轉(zhuǎn)換

VC++ 2010-09-25 21:23:12 閱讀457 評(píng)論3   字號(hào): 訂閱

一.CString與LPCWSTR 

    兩者的不同:LPCWSTR 是Unicode字符串指針,初始化時(shí)串有多大,申請(qǐng)空間就有多大,以后存貯若超過則出現(xiàn)無(wú)法預(yù)料的結(jié)果,這是它與CString的不同之處。而CString是一個(gè)串類,內(nèi)存空間類會(huì)自動(dòng)管理。

    CString轉(zhuǎn)換成LPCWSTR

    方法一:CString strFileName;

                     LPCWSTR lpcwStr = strFileName.AllocSysString();

    方法二:CString str=_T("TestStr"); 
                    USES_CONVERSION; 
                    LPCWSTR lpcwStr = A2CW((LPCSTR)str);

    MFC中CString和LPSTR是可以通用,其中A2CW表示(LPCSTR)  -> (LPCWSTR),USER_CONVERSION表示用來(lái)定義一些中間變量,在使用ATL的轉(zhuǎn)換宏之前必須定義該語(yǔ)句。

    LPCWSTR轉(zhuǎn)換成CString

    LPCWSTR lpcwStr = L"TestWStr"; 
    CString str(lpcwStr);

 CString str;

LPWSTR  lpstr = (LPWSTR)(LPCWSTR)str;

二.CString與LPSTR轉(zhuǎn)換

     CString轉(zhuǎn)換成LPSTR:

    方法一:CString strFileName;

                    LPSTR lpStr = strFileName.GetBuffer();

                    strFileName.ReleaseBuffer();

     方法二:CString strFileName;

                     LPSTR lpStr = (LPSTR)(LPCSTR)strFimeName;

      LPSTR轉(zhuǎn)換成CString:

                      LPSTR lpStr = L"TestStr"; 
                      CString str(lpStr);

      注意:CString和LPCSTR可直接轉(zhuǎn)換,如下:

                     CString str;

                     LPCSTR lpcStr = (LPCSTR)str;

三.CString和char*轉(zhuǎn)換
       CString轉(zhuǎn)換成char*
       方法一:CString str;
                       char* p = str.GetBuffer();
       方法二:CString str;
                       char* p = (LPSTR)(LPCSTR)str;
       char*轉(zhuǎn)換成CString
                       char* p = "test";
                       CString str = ("%s",p);

四.String和int、float的轉(zhuǎn)換

        可以使用atoi,atof,atol等函數(shù)來(lái)完成。

五.LPSTR(char*)和LPWSTR的轉(zhuǎn)換

        可以使用下面的ATL宏來(lái)進(jìn)行,最好是將變量定義成TCHAR、LPTSTR等T類型,可以避免轉(zhuǎn)換。

ATL宏介紹:

     A2BSTR   OLE2A             T2A            W2A 
     A2COLE   OLE2BSTR    T2BSTR    W2BSTR 
     A2CT         OLE2CA         T2CA          W2CA 
     A2CW        OLE2CT         T2COLE    W2COLE 
     A2OLE       OLE2CW       T2CW         W2CT 
     A2T            OLE2T            T2OLE        W2OLE 
     A2W           OLE2W          T2W             W2T

    A :ANSI 字符串,也就是 MBCS。 
    W、OLE 寬字符串,也就是 UNICODE。 
    T 中間類型T。如果定義了 _UNICODE,則T表示W(wǎng);如果定義了 _MBCS,則T表示A 
    C const 的縮寫

利用這些宏,可以快速的進(jìn)行各種字符間的轉(zhuǎn)換。使用前必須包含頭文件,并且申明USER_CONVERSION;使用 ATL 轉(zhuǎn)換宏,由于不用釋放臨時(shí)空間,所以使用起來(lái)非常方便。但是考慮到棧空間的尺寸(VC 默認(rèn)2M),使用時(shí)要注意幾點(diǎn):

    1、只適合于進(jìn)行短字符串的轉(zhuǎn)換; 
    2、不要試圖在一個(gè)次數(shù)比較多的循環(huán)體內(nèi)進(jìn)行轉(zhuǎn)換; 
    3、不要試圖對(duì)字符型文件內(nèi)容進(jìn)行轉(zhuǎn)換,因?yàn)槲募叽缫话闱闆r下是比較大的; 
    4、對(duì)情況 2 和 3,要使用 MultiByteToWideChar() 和 WideCharToMultiByte();

void Func1(LPSTR lpStr);

void Func2(LPWSTR lpwStr);

TCHAR   name[256];

TCHAR*   pName = new  TCHAR[256];

Func1(name); // Func1(pName);

Func2(name); // Func2(pName);

注意在VS2005中上面用紅色標(biāo)記的代碼已經(jīng)不成立。

VS2005中CString已經(jīng)改為寬字符型,一些轉(zhuǎn)換如下:

char name[10];
 TCHAR sex[5] ;
 char *p = name;
 TCHAR *pw = sex;

 LPSTR lpstr = name;
 LPCSTR lpcstr = name;
 lpcstr = lpstr;
 
 lpstr = p;
 p = (char*)sex;
 pw = (WCHAR*)name;
 LPWSTR lpwstr = (LPWSTR)lpstr;
 lpwstr = (LPWSTR)lpcstr;
 LPCWSTR lpcwstr = (LPCWSTR)lpstr;
 lpcwstr = (LPCWSTR)name;

 CString str(lpstr);
 CString str1(lpcstr);
 CString str2(lpwstr);
 CString str3(lpcwstr);
 CString str4(name);
 CString str5(sex);

 lpwstr = (LPWSTR)(LPCWSTR)str;
 lpstr = (LPSTR)(LPCWSTR)str;
 lpcstr = (LPCSTR)(LPCWSTR)str;

 p = (char*)str.GetBuffer();
 pw = str.GetBuffer();

可以看出轉(zhuǎn)換更加簡(jiǎn)單了,基本上可以直接轉(zhuǎn)換,A2W等宏基本上不需要啦

(摘自)

http://blog.csdn.net/sl159/article/details/6412171

標(biāo)簽: C++

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久亚洲私人国产精品va媚药| 国产欧美一区二区三区久久| 亚洲欧美日韩另类| 欧美日韩国产免费观看| 亚洲国产99精品国自产| 亚洲欧美另类综合偷拍| 夜夜嗨av色一区二区不卡| 久久国产精品第一页| 国产精品日本一区二区| 亚洲第一黄网| 欧美国产精品劲爆| 国内自拍一区| 欧美成人精品一区二区三区| 美国十次了思思久久精品导航| 国产欧美日韩一级| 免费人成精品欧美精品| 免费观看在线综合色| 亚洲欧洲在线视频| 在线亚洲自拍| 娇妻被交换粗又大又硬视频欧美| 欧美激情中文字幕乱码免费| 欧美日韩高清免费| 免费一级欧美片在线播放| 美国十次成人| 国产精品日日做人人爱| 欧美一区二区三区久久精品茉莉花| 亚洲精品视频在线观看免费| 欧美视频免费| 欧美成人免费大片| 欧美日韩视频在线第一区| 欧美一区精品| 久久综合五月天婷婷伊人| 亚洲一区二区三区色| 久久精品国产视频| 亚洲一区二区三区高清不卡| 午夜精品久久久久| 夜夜夜精品看看| 欧美黄色影院| 久久久久久网站| 国产精品资源在线观看| 在线亚洲自拍| 亚洲视频电影图片偷拍一区| 久久综合九九| 亚洲国产黄色片| 亚洲精品免费网站| 狠狠干成人综合网| 欧美一区二区三区免费观看视频| 亚洲视频免费看| 欧美片第一页| 日韩视频在线永久播放| 日韩视频专区| 国产精品videosex极品| 亚洲一级特黄| 久热精品视频| 国产精品日本一区二区| 久久在线免费观看视频| 亚洲欧美日韩精品一区二区| 亚洲伦伦在线| 亚洲精品国久久99热| 欧美黄色aaaa| 亚洲国产成人av| 欧美激情一区二区三区全黄| 久久婷婷人人澡人人喊人人爽| 亚洲在线观看| 亚洲一级在线观看| 亚洲欧洲日本mm| 亚洲高清av在线| 红桃av永久久久| 国产精品久久久久久久久免费桃花| 免费国产自线拍一欧美视频| 国产精品99久久不卡二区| 午夜精品国产更新| 亚洲黄页一区| 国产精品视频免费在线观看| 鲁大师影院一区二区三区| 亚洲国产精品一区| 久久天天躁狠狠躁夜夜爽蜜月| 日韩亚洲欧美在线观看| 国产精品www.| 欧美精品一区二区三区一线天视频| 亚洲精品一区在线| 欧美激情1区2区3区| 久久国产精品久久久久久| 日韩亚洲精品视频| 亚洲综合国产精品| 亚洲美女性视频| 日韩一级精品视频在线观看| 欧美高清视频在线播放| 欧美mv日韩mv国产网站app| 久久综合一区二区| 美女成人午夜| 久久尤物电影视频在线观看| 亚洲私人影院| 亚洲欧美福利一区二区| 亚洲一区二区伦理| 久久av一区二区| 久久精品视频在线免费观看| 欧美一区二区三区播放老司机 | 欧美一区二区三区男人的天堂| 亚洲欧洲另类国产综合| 亚洲人成在线影院| 一本久久a久久免费精品不卡| 日韩一级片网址| 亚洲在线免费观看| 久久国产黑丝| 国产精品第十页| 国产毛片一区二区| 一区二区三区你懂的| 欧美二区不卡| 欧美电影电视剧在线观看| 国产自产精品| 免费高清在线一区| 亚洲欧美国产日韩中文字幕| 欧美激情一区二区三区在线视频| 国产精品影片在线观看| 在线一区二区三区做爰视频网站| 欧美大秀在线观看| 久久影院午夜片一区| 亚洲电影av| 亚洲二区在线观看| 久久综合色8888| 亚洲欧洲综合另类| 亚洲黄色av一区| 欧美另类亚洲| 亚洲欧美另类在线| 日韩视频免费观看高清在线视频| 亚洲欧美综合精品久久成人| 亚洲经典自拍| 国产精品劲爆视频| 午夜一区不卡| 久久夜色精品国产欧美乱| 国内久久婷婷综合| 亚洲精品一二三| 国产精品视频网址| 美女视频一区免费观看| 欧美日韩成人一区二区| 亚洲男人的天堂在线| 亚洲最新合集| 久久国产精彩视频| 亚洲乱码日产精品bd| 西西人体一区二区| 日韩天堂av| 久久亚洲精品伦理| 欧美一区二区三区日韩视频| 欧美大胆人体视频| 男女激情久久| 加勒比av一区二区| 性做久久久久久久免费看| 亚洲少妇中出一区| 欧美激情精品久久久久| 亚洲国产成人精品久久久国产成人一区 | 亚洲天堂网在线观看| 激情五月***国产精品| 午夜精品久久久99热福利| 欧美一区二区三区喷汁尤物| 国产精品羞羞答答| 欧美一区在线看| 久久久欧美精品| 国产欧美一级| 久久激五月天综合精品| 欧美在线视频观看免费网站| 亚洲电影免费观看高清完整版| 欧美老女人xx| 久久激情综合网| 91久久精品美女高潮| 激情伊人五月天久久综合| 狠狠综合久久| 国产精品乱码人人做人人爱| 久久精品国产精品亚洲综合| 欧美xx69| 亚洲视频欧美视频| 欧美国产视频一区二区| 亚洲一区国产精品| 国产精品jizz在线观看美国| 欧美大片免费观看在线观看网站推荐| 国产字幕视频一区二区| 欧美一区二区三区免费大片| 久久久人成影片一区二区三区 | 久久偷窥视频| 99精品欧美一区| 久久综合亚州| 一本色道久久综合亚洲91| 亚洲女人av| 国产在线精品自拍| 久久久久一本一区二区青青蜜月| 欧美国产一区二区三区激情无套| 性做久久久久久久免费看| 欧美日韩美女在线| 亚洲激情在线观看视频免费| 国产精品激情偷乱一区二区∴| 亚洲国产精品欧美一二99| 国产精品入口夜色视频大尺度 | 亚洲欧美卡通另类91av| 亚洲激情av| 韩国一区二区在线观看| 午夜激情一区| 玖玖玖国产精品| 国产一区91| 欧美一级电影久久| 中文精品一区二区三区|