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

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版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>
            韩日成人在线| 欧美人与禽猛交乱配视频| 国产精品另类一区| 亚洲先锋成人| 中国女人久久久| 国产精品久久久久久超碰| 亚洲欧美日韩综合| 亚洲午夜激情| 国产一区二区黄色| 欧美成人在线网站| 欧美日韩国产综合一区二区| 亚洲一二三四区| 午夜精品视频| 亚洲精品九九| 一区二区高清视频在线观看| 国产日韩一区欧美| 欧美国产日韩精品| 国产精品爱啪在线线免费观看 | 久久亚洲国产精品日日av夜夜| 在线日韩中文字幕| 亚洲靠逼com| 国产午夜精品久久| 亚洲精品乱码久久久久久蜜桃91| 欧美激情性爽国产精品17p| 亚洲欧美在线看| 男人的天堂亚洲在线| 亚洲综合电影| 开心色5月久久精品| 亚洲欧美日韩国产成人精品影院| 久久爱另类一区二区小说| 99这里有精品| 久久精品国产69国产精品亚洲| 日韩一级不卡| 久久精品久久99精品久久| 中文亚洲欧美| 久久亚洲私人国产精品va媚药| 欧美日韩大片| 久久亚洲综合| 国产精品视频一区二区三区| 亚洲国产91精品在线观看| 国产日韩精品久久久| 亚洲日本中文字幕| 亚洲第一在线视频| 午夜性色一区二区三区免费视频| 日韩亚洲欧美一区二区三区| 久久久精品一品道一区| 午夜精品久久久久99热蜜桃导演| 欧美黄色aaaa| 欧美刺激性大交免费视频| 国产美女扒开尿口久久久| 亚洲靠逼com| 99视频精品| 欧美成人嫩草网站| 欧美电影免费| 亚洲国产成人久久综合一区| 欧美伊人久久久久久午夜久久久久 | 久久全球大尺度高清视频| 性伦欧美刺激片在线观看| 欧美日韩国产一级片| 亚洲国产毛片完整版| 亚洲黄色有码视频| 另类综合日韩欧美亚洲| 免费日韩视频| 亚洲国产一区二区三区青草影视 | 欧美激情第9页| 欧美激情精品久久久久久变态| 又紧又大又爽精品一区二区| 久久久久久久一区| 猫咪成人在线观看| 在线观看欧美日韩| 免费观看久久久4p| 欧美激情精品久久久久久久变态| 亚洲第一网站| 欧美精品激情在线| 日韩午夜激情av| 亚洲一区二区成人| 国产精品视频一二三| 欧美影院视频| 欧美成人黄色小视频| 亚洲区一区二| 欧美吻胸吃奶大尺度电影| 亚洲女同在线| 久久午夜视频| 亚洲精品少妇| 欧美日韩视频一区二区| 亚洲视频在线免费观看| 久久久久久久久久久久久9999 | 欧美理论视频| 中文久久精品| 久久噜噜噜精品国产亚洲综合 | 欧美视频二区36p| 午夜精品久久久久久久蜜桃app| 久久人人看视频| 亚洲精品日本| 国产精品美女在线观看| 久久精品免费播放| 亚洲精品国产精品国自产观看浪潮| 亚洲一区视频在线观看视频| 国产视频在线观看一区二区| 亚洲精品欧美日韩| 欧美一区二区三区在线看| 1024成人| 国产精品美女一区二区| 欧美v日韩v国产v| 亚洲欧美在线一区| 欧美不卡视频一区| 午夜精品剧场| 尤物yw午夜国产精品视频| 国产精品国产三级国产专区53| 久久久精品日韩| 亚洲视频一区二区| 欧美激情亚洲自拍| 欧美一区二区日韩| 99在线精品观看| 激情综合色丁香一区二区| 国产精品v日韩精品v欧美精品网站| 久久久久久综合网天天| 亚洲一区二三| 亚洲美女色禁图| 欧美福利在线观看| 久久精品日产第一区二区三区| 一区二区三区四区在线| 亚洲韩国日本中文字幕| 国产亚洲欧洲一区高清在线观看 | 欧美亚洲一区二区三区| 一本色道久久综合精品竹菊| 亚洲第一精品久久忘忧草社区| 久久精品最新地址| 午夜精品影院| 亚洲小视频在线| 日韩天天综合| 亚洲日本一区二区三区| 伊人夜夜躁av伊人久久| 国产亚洲一区二区三区在线观看| 国产精品成人一区二区网站软件| 欧美激情综合在线| 美女露胸一区二区三区| 久久亚洲国产精品一区二区| 欧美中文在线视频| 欧美亚洲网站| 久久国产综合精品| 久久国内精品自在自线400部| 午夜在线精品偷拍| 午夜天堂精品久久久久| 欧美一级黄色网| 欧美在线播放高清精品| 久久国产精品99国产精| 久久精品国产第一区二区三区最新章节| 亚洲欧美影音先锋| 亚洲欧美日韩天堂| 欧美一级理论性理论a| 欧美亚洲在线播放| 久久九九国产精品| 久久综合色婷婷| 欧美日韩1区| 国产精品你懂的在线| 国产美女诱惑一区二区| 国产一区二区三区直播精品电影| 国产亚洲一区二区三区在线播放| 红桃视频成人| 亚洲黄页一区| 中文有码久久| 久久国产精品99国产| 另类专区欧美制服同性| 亚洲国产成人91精品| 一区二区高清在线观看| 性久久久久久久久| 久久亚洲精品伦理| 欧美日韩视频在线第一区| 国产精品久久久久一区| 国产在线乱码一区二区三区| 亚洲国产一二三| 午夜电影亚洲| 欧美高清一区| 亚洲天天影视| 麻豆精品网站| 国产精品免费小视频| 国语自产精品视频在线看一大j8| 亚洲精品久久久蜜桃| 好看的日韩视频| 日韩视频在线观看| 久久国产精品久久久| 亚洲高清在线精品| 亚洲欧美日韩国产中文| 免费成人激情视频| 国产精品日韩欧美一区| 在线日韩精品视频| 亚洲欧美日韩综合国产aⅴ| 免费看成人av| 一区二区三区**美女毛片| 久久青草欧美一区二区三区| 国产精品久久久久aaaa| 亚洲国产精品视频一区| 午夜一区二区三视频在线观看 | 欧美一区二区三区四区夜夜大片| 欧美激情一区二区三区蜜桃视频| 亚洲欧美日韩精品久久久久| 欧美国产亚洲另类动漫| 伊人夜夜躁av伊人久久| 久久精品官网|