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

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版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电影| 99re这里只有精品6| 91久久极品少妇xxxxⅹ软件| 激情小说另类小说亚洲欧美| 国产精品v日韩精品v欧美精品网站| 美日韩精品视频| 亚洲综合另类| 亚洲图片欧美一区| 久久久久欧美精品| 久久不射中文字幕| 亚洲第一在线综合网站| 亚洲日本黄色| 久久久999| 亚洲黄一区二区| 国产三级欧美三级日产三级99| 久久精品道一区二区三区| 久久国产毛片| 最新国产乱人伦偷精品免费网站| 亚洲视频在线二区| 99成人精品| 午夜精品国产精品大乳美女| 国产一区二区三区视频在线观看| 亚洲专区一二三| 国产女精品视频网站免费| 欧美视频亚洲视频| 久久先锋资源| 欧美视频免费看| 一本色道久久综合亚洲精品不 | 欧美精品亚洲| 欧美性一区二区| 国产欧美日韩不卡| 在线精品亚洲| 国产在线麻豆精品观看| 欧美激情 亚洲a∨综合| 一本大道av伊人久久综合| 一片黄亚洲嫩模| 欧美1区2区| 在线日韩成人| 性欧美videos另类喷潮| 亚洲欧洲日产国码二区| 国产精品一区一区| 欧美一区1区三区3区公司| 这里是久久伊人| 亚洲一区尤物| 亚洲精选91| 亚洲国产精品久久久久| 狠狠爱综合网| 国产日韩专区| 亚洲免费高清| 亚洲午夜精品久久| 日韩亚洲国产欧美| 美女免费视频一区| 国产亚洲日本欧美韩国| 欧美日韩国产在线看| 在线播放国产一区中文字幕剧情欧美| a4yy欧美一区二区三区| 亚洲激情综合| 亚洲国产精品毛片| 亚洲国产精品v| 久热精品在线视频| 国产欧美日韩91| 久久精品国产成人| 欧美丝袜一区二区| 久久一区免费| 美国十次成人| 欧美久久久久久久久久| 中文国产成人精品久久一| 亚洲免费视频一区二区| 欧美日韩免费观看一区=区三区 | 亚洲欧美日韩高清| 国产日韩欧美综合| 野花国产精品入口| 欧美电影美腿模特1979在线看| 久久精品九九| 久久国产一区二区三区| 国产情侣久久| 久久久久国产精品厨房| 欧美亚洲专区| 亚洲日本成人网| 欧美一区二区三区日韩| 亚洲免费在线观看| 久久一区二区精品| 欧美激情网友自拍| 久久国产精品黑丝| 免费成人av| 国产婷婷成人久久av免费高清 | 欧美一区高清| 亚洲性图久久| 国产麻豆日韩| 亚洲婷婷综合久久一本伊一区| 亚洲尤物视频在线| 国产一区二区三区在线观看精品| 欧美一级淫片播放口| 亚洲欧美日韩一区二区三区在线| 久久精品亚洲精品国产欧美kt∨| 欧美成人国产一区二区| 午夜视频久久久久久| 欧美一区影院| 亚洲黄色一区二区三区| 亚洲黄色毛片| 亚洲乱码精品一二三四区日韩在线 | 欧美日韩在线播放三区四区| 亚洲伦理自拍| 久久综合狠狠综合久久激情| 亚洲欧美三级在线| 午夜亚洲一区| 欧美日韩三级一区二区| 久久国产精品高清| 一片黄亚洲嫩模| 久久久久久网站| 亚洲激情黄色| 国产免费亚洲高清| 欧美777四色影视在线| 亚洲精品免费在线播放| 国产精品久久国产精品99gif | 欧美黄色aa电影| 99亚洲精品| 欧美少妇一区| 欧美成人午夜影院| 米奇777超碰欧美日韩亚洲| 亚洲欧美三级伦理| 亚洲欧美激情诱惑| 一本色道久久加勒比88综合| 可以免费看不卡的av网站| 久久久久一区二区| 国产真实久久| 美女91精品| 国产视频在线观看一区| 麻豆国产精品一区二区三区 | 久久先锋影音av| 久久久久久成人| 亚洲国产精品精华液2区45| 亚洲国产精品日韩| 国外成人在线| 开心色5月久久精品| 蜜桃av一区| 亚洲国产精品一区二区三区| 久久视频这里只有精品| 久热精品视频在线观看一区| 亚洲欧美怡红院| 亚洲人成精品久久久久| 亚洲黄色尤物视频| 一区二区亚洲欧洲国产日韩| 久久不射中文字幕| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲午夜av在线| 久久亚洲不卡| 久久伊人一区二区| 亚洲欧美视频一区二区三区| 亚洲主播在线观看| 欧美精品一卡| 久久爱www久久做| 国产色视频一区| 久久久夜色精品亚洲| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美成人综合一区| 亚洲精品久久久久| 亚洲一区二区三区高清| 国产色综合久久| 亚洲国产精品久久久久秋霞蜜臀 | 欧美v国产在线一区二区三区| 亚洲高清资源| 中文精品视频| 久久激情综合网| 亚洲精品一区二区三| 欧美视频在线观看免费| 久久国产欧美精品| 午夜精品福利视频| 欧美xart系列高清| 久久久一区二区| 国产精品黄色| 久久久久国产精品一区二区| 午夜亚洲福利| 亚洲国产另类久久久精品极度| 亚洲欧美综合网| 夜夜狂射影院欧美极品| 国产精品一区在线观看| 免费看亚洲片| 亚欧成人在线| 在线视频日韩精品| 亚洲午夜电影| 欧美人成免费网站| 欧美.www| 亚洲电影一级黄| 久久动漫亚洲| 久久精品视频播放| 亚洲精品韩国| a4yy欧美一区二区三区| 美女福利精品视频| 亚洲精品影视在线观看| 亚洲欧美一区二区视频| 亚洲精美视频| 欧美肥婆bbw| 亚洲国产婷婷香蕉久久久久久| 欧美激情一二三区| 久久久久久噜噜噜久久久精品|