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

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版MSDN

Blog @ Blog

當華美的葉片落盡,生命的脈絡才歷歷可見。 -- 聶魯達

常用鏈接

統計

積分與排名

BBS

Blog

Web

最新評論

[轉]Visual C++常用數據類型轉換詳解

 我們先定義一些常見類型變量借以說明:

int i = 100;
long l = 2001;
float f=300.2;
double d=12345.119;
char username[]="女俠程佩君";
char temp[200];
char *buf;
CString str;
_variant_t v1;
_bstr_t v2;

  一、其它數據類型轉換為字符串

  短整型(int)

itoa(i,temp,10);///將i轉換為字符串放入temp中,最后一個數字表示十進制
itoa(i,temp,2); ///按二進制方式轉換 

  長整型(long)

ltoa(l,temp,10);

  二、從其它包含字符串的變量中獲取指向該字符串的指針

  CString變量

str = "2008北京奧運";
buf 
= (LPSTR)(LPCTSTR)str; 

  BSTR類型的_variant_t變量

v1 = (_bstr_t)"程序員";
buf 
= _com_util::ConvertBSTRToString((_bstr_t)v1);

  三、字符串轉換為其它數據類型

strcpy(temp,"123"); 
//*****短整型(int)*********
= atoi(temp); 
//*****長整型(long)**********
= atol(temp); 
//*****浮點(double)********
= atof(temp);


  四、其它數據類型轉換到CString

  使用CString的成員函數Format來轉換,例如:

//******整數(int)*******
str.Format("%d",i); 

//******浮點數(float)******
str.Format("%f",i); 

//******字符串指針(char *)等已經被CString構造函數支持的數據類型可以直接賦值 *****
str = username;


  五、BSTR、_bstr_t與CComBSTR

  CComBSTR、_bstr_t是對BSTR的封裝,BSTR是指向字符串的32位指針。

//**********char *轉換到BSTR可以這樣: ********************
BSTR b=_com_util::ConvertStringToBSTR("數據");///使用前需要加上頭文件comutil.h

//*********反之可以使用***********************
char *p=_com_util::ConvertBSTRToString(b);


  六、VARIANT 、_variant_t 與 COleVariant

  VARIANT的結構可以參考頭文件VC98\Include\OAIDL.H中關于結構體tagVARIANT的定義。

  對于VARIANT變量的賦值:首先給vt成員賦值,指明數據類型,再對聯合結構中相同數據類型的變量賦值,舉個例子:

VARIANT va;
int a=2001;
va.vt
=VT_I4;///指明整型數據
va.lVal=a; ///賦值
  對于不馬上賦值的VARIANT,最好先用Void VariantInit(VARIANTARG FAR* pvarg);進行初始化,其本質是將vt設置為VT_EMPTY,下表我們列舉vt與常用數據的對應關系:

unsigned char bVal; VT_UI1 
short iVal; VT_I2 
long lVal; VT_I4 
float fltVal; VT_R4 
double dblVal; VT_R8 
VARIANT_BOOL boolVal; VT_BOOL 
SCODE scode; VT_ERROR 
CY cyVal; VT_CY 
DATE date; VT_DATE 
BSTR bstrVal; VT_BSTR 
IUnknown FAR
* punkVal; VT_UNKNOWN 
IDispatch FAR
* pdispVal; VT_DISPATCH 
SAFEARRAY FAR
* parray; VT_ARRAY|* 
unsigned 
char FAR* pbVal; VT_BYREF|VT_UI1 
short FAR* piVal; VT_BYREF|VT_I2 
long FAR* plVal; VT_BYREF|VT_I4 
float FAR* pfltVal; VT_BYREF|VT_R4 
double FAR* pdblVal; VT_BYREF|VT_R8 
VARIANT_BOOL FAR
* pboolVal; VT_BYREF|VT_BOOL 
SCODE FAR
* pscode; VT_BYREF|VT_ERROR 
CY FAR
* pcyVal; VT_BYREF|VT_CY 
DATE FAR
* pdate; VT_BYREF|VT_DATE 
BSTR FAR
* pbstrVal; VT_BYREF|VT_BSTR 
IUnknown FAR
* FAR* ppunkVal; VT_BYREF|VT_UNKNOWN 
IDispatch FAR
* FAR* ppdispVal; VT_BYREF|VT_DISPATCH 
SAFEARRAY FAR
* FAR* pparray; VT_ARRAY|* 
VARIANT FAR
* pvarVal; VT_BYREF|VT_VARIANT 
void FAR* byref; VT_BYREF 
   _variant_t是VARIANT的封裝類,其賦值可以使用強制類型轉換,其構造函數會自動處理這些數據類型。

  例如:

long l=222;
ing i
=100;
_variant_t lVal(l);
lVal 
= (long)i;

  COleVariant的使用與_variant_t的方法基本一樣,請參考如下例子:

COleVariant v3 = "字符串", v4 = (long1999;
CString str 
=(BSTR)v3.pbstrVal;
long i = v4.lVal;


  七、其它

  對消息的處理中我們經常需要將WPARAM或LPARAM等32位數據(DWORD)分解成兩個16位數據(WORD),例如:

LPARAM lParam;
WORD loValue 
= LOWORD(lParam);///取低16位
WORD hiValue = HIWORD(lParam);///取高16位 
  對于16位的數據(WORD)我們可以用同樣的方法分解成高低兩個8位數據(BYTE),例如:

WORD wValue;
BYTE loValue 
= LOBYTE(wValue);///取低8位
BYTE hiValue = HIBYTE(wValue);///取高8位 

posted on 2007-09-04 22:56 isabc 閱讀(308) 評論(1)  編輯 收藏 引用 所屬分類: C++基礎

評論

# Visual C++ saionara! 2007-09-27 02:08 cbuosi

Ai seus olho puxado do caralho
nao entendi porra nenhuma, mas obrigado pelas dicas?!  回復  更多評論   

廣告信息(免費廣告聯系)

中文版MSDN:
歡迎體驗

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久黄色网页| 久久欧美肥婆一二区| 欧美系列一区| 欧美激情一区三区| 久久免费精品视频| 午夜精品免费| 亚洲免费视频网站| 亚洲一级免费视频| 一本色道88久久加勒比精品| 永久免费视频成人| 在线观看日韩av电影| 亚洲大胆av| 99re66热这里只有精品4| 99pao成人国产永久免费视频| 亚洲区一区二区三区| 99精品99| 噜噜噜在线观看免费视频日韩| 一本色道88久久加勒比精品| 欧美另类视频在线| 国产精品久久久久久久久婷婷| 国产一区二区三区免费不卡| 亚洲高清在线精品| 午夜精品久久久久久久久久久久| 久久精品三级| 99国产精品| 久久综合九色综合欧美狠狠| 欧美午夜a级限制福利片| 在线欧美福利| 久久夜色精品国产亚洲aⅴ| 亚洲国产另类精品专区 | 国产日韩欧美麻豆| 亚洲国产日韩精品| 久久精品国产亚洲精品| 夜夜嗨av一区二区三区四区| 久久久久久国产精品mv| 国产欧美日韩麻豆91| 亚洲人成毛片在线播放| 久久经典综合| 亚洲午夜精品| 欧美激情免费在线| 在线观看中文字幕亚洲| 亚洲欧美激情视频在线观看一区二区三区| 欧美成人亚洲成人| 久久综合亚洲社区| 欧美成人午夜77777| 欧美视频一区二区三区…| 激情亚洲网站| 欧美高清在线一区| 久久人人爽人人爽爽久久| 国产三级欧美三级| 久久精品国产亚洲精品| 亚洲欧美视频| 国产一区二区久久| 久久久久久久999精品视频| 亚洲综合色激情五月| 国产一区二区三区av电影| 久久国产精品黑丝| 久久精品毛片| 亚洲第一伊人| 亚洲精品裸体| 国产精品揄拍一区二区| 日韩一级大片| 亚洲美女精品一区| 欧美午夜激情在线| 欧美永久精品| 久久亚洲一区二区| 一本久道久久综合婷婷鲸鱼| 亚洲特色特黄| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲国产婷婷香蕉久久久久久| 猛男gaygay欧美视频| 亚洲欧洲三级| 午夜精品久久久久久久99黑人| 一区二区三区亚洲| 日韩视频在线观看国产| 黄网动漫久久久| 亚洲视频中文| 亚洲国产精品成人久久综合一区| 一本色道久久综合狠狠躁篇怎么玩| 国内精品久久久久久影视8| 久久亚洲精品伦理| 欧美日韩精品免费观看视一区二区 | 亚洲国产日韩在线| 欧美午夜精品久久久久久超碰| 午夜亚洲伦理| 亚洲精品一区二区三区av| 欧美国产一区视频在线观看| 亚洲欧美综合v| 欧美第一黄网免费网站| 久久国产主播精品| 亚洲一区二区三区四区中文 | 亚洲精品护士| 亚洲欧美在线磁力| 日韩视频免费| 欧美成人精品不卡视频在线观看| 久热国产精品| 欧美亚日韩国产aⅴ精品中极品| 亚洲国产日韩欧美在线99| 国产原创一区二区| 欧美一级淫片aaaaaaa视频| 亚洲午夜高清视频| 欧美日韩一视频区二区| 亚洲精品久久久久久下一站| 黄色成人免费观看| 久久精品欧洲| 欧美激情中文字幕一区二区| 精品1区2区3区4区| 欧美高清视频在线观看| 91久久午夜| 亚洲在线视频网站| 国产片一区二区| 久久九九精品| 99国产精品私拍| 麻豆freexxxx性91精品| 亚洲人成毛片在线播放女女| 欧美日韩一区二区欧美激情| 亚洲午夜精品一区二区| 麻豆av福利av久久av| 午夜精品一区二区三区在线视| 国产精品久久久久久久久久直播 | 99国产精品视频免费观看一公开 | 久久精品一区二区三区中文字幕 | 欧美在线一区二区三区| 亚洲精品小视频| 久久亚洲精品一区二区| 国产九九视频一区二区三区| 亚洲午夜精品| 欧美肥婆bbw| 久久国产乱子精品免费女 | 欧美国产亚洲精品久久久8v| 亚洲一区免费在线观看| 91久久精品一区二区别| 久久精品99国产精品酒店日本| 在线看片日韩| 国产精品久久久久久久久婷婷| av成人天堂| 亚洲影院色无极综合| 欧美二区在线观看| 久久综合中文| 久久精品视频亚洲| 欧美一区二区三区在线| 亚洲天堂网站在线观看视频| 一本不卡影院| 日韩视频免费在线| 亚洲国产一区二区精品专区| 国产视频亚洲精品| 欧美日韩一卡二卡| 欧美另类极品videosbest最新版本 | 亚洲国产网站| 国产精品一区免费视频| 欧美国产免费| 欧美精品一区二区三区四区| 美国成人直播| 欧美激情综合| 国产精品爱久久久久久久| 欧美先锋影音| 一区二区视频免费完整版观看| 尤物九九久久国产精品的特点| 亚洲国产精品久久精品怡红院| 亚洲欧洲在线播放| 亚洲午夜久久久| 久久精品国产久精国产爱| 欧美1区免费| 一本久道久久久| 久久国产精品久久久| 久久中文久久字幕| 欧美激情一区二区三区高清视频| 狠狠88综合久久久久综合网| 欧美日韩国产专区| 国产美女精品在线| 亚洲国产天堂久久综合网| 亚洲国产二区| 先锋影音网一区二区| 久久综合中文字幕| 一本一道久久综合狠狠老精东影业 | 欧美www视频| 欧美日韩亚洲一区二区三区四区| 国内成+人亚洲+欧美+综合在线| av成人动漫| 久久中文字幕一区| 亚洲一区二区三区三| 欧美日韩精品二区| 国内精品伊人久久久久av影院 | 亚洲女人天堂av| 亚洲国产精品成人一区二区| 久久天天躁夜夜躁狠狠躁2022| 国内外成人免费激情在线视频网站| 亚洲精品网站在线播放gif| 久久激情视频久久| 欧美中文在线观看| 国内精品久久久久国产盗摄免费观看完整版| 亚洲一区久久| 亚洲在线观看免费| 国产欧美日韩高清| 久久久久国产精品麻豆ai换脸| 性欧美超级视频| 亚洲国产你懂的| 一区二区在线观看视频在线观看| 亚洲欧美日韩在线综合| 欧美一区二区免费观在线|