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

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版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 閱讀(311) 評論(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| 欧美另类高清视频在线| 亚洲精品日韩在线| 亚洲精品乱码久久久久久蜜桃麻豆 | 久久久久久亚洲精品中文字幕| 亚洲综合三区| 狠狠色丁香久久婷婷综合丁香| 男女av一区三区二区色多| 久久久久久网址| 亚洲三级网站| 亚洲午夜激情在线| 黄色精品一二区| 亚洲国产精品欧美一二99| 欧美精品一区二区三区一线天视频 | 欧美高清视频一区| 亚洲色图在线视频| 亚洲欧美在线网| 亚洲激情av| 中日韩高清电影网| 一区国产精品| 一区二区三区免费在线观看| 国产综合欧美| 日韩午夜免费视频| 国产视频在线观看一区二区三区| 欧美激情精品久久久久久大尺度 | 欧美福利视频网站| 亚洲欧美中文另类| 狂野欧美性猛交xxxx巴西| 亚洲永久免费av| 久久人人九九| 欧美一区二区三区四区在线观看地址| 久久免费视频观看| 先锋亚洲精品| 欧美激情一区二区三区在线| 欧美一区二区视频在线观看2020 | 国产精品日韩在线播放| 欧美激情中文不卡| 国产亚洲精品久| av不卡在线看| 亚洲精品中文字| 欧美影院在线| 午夜日韩在线| 欧美日韩精品在线| 亚洲高清不卡av| 狠狠色综合色区| 亚洲一区免费观看| 一区二区三区视频在线观看| 久久亚洲欧美| 久久蜜桃资源一区二区老牛 | 国内精品模特av私拍在线观看| 亚洲精品国久久99热| 在线看片一区| 久久久久久香蕉网| 久久久久青草大香线综合精品| 国产精品国产馆在线真实露脸| 亚洲电影免费在线观看| 亚洲成人中文| 久久久久久精| 免费h精品视频在线播放| 国产亚洲福利| 性欧美video另类hd性玩具| 亚洲欧美成人综合| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 欧美黄色免费网站| 欧美国产综合一区二区| 亚洲电影免费| 久久久人成影片一区二区三区观看 | 欧美激情aaaa| 亚洲人成久久| 欧美精品成人一区二区在线观看 | 欧美激情一区二区| 亚洲人成在线免费观看| 欧美成人一二三| 亚洲经典三级| 亚洲在线中文字幕| 国产精品资源| 久久久久久久性| 欧美高清视频一区| 一区二区三区久久久| 欧美视频中文字幕| 亚洲欧美一区二区激情| 久久久国产一区二区三区| 国产日本欧美在线观看| 久久爱91午夜羞羞| 亚洲第一在线综合网站| 这里只有精品丝袜| 国产精品一区二区欧美| 久久国产福利| 亚洲激情偷拍| 欧美一级午夜免费电影| 在线日本成人| 欧美日韩国产一区二区三区| 亚洲一区二区三区精品在线观看| 久久精品三级| 亚洲美女在线观看| 国产嫩草一区二区三区在线观看| 久久国产精品久久久久久电车| 欧美激情91| 欧美在线啊v一区| 亚洲人在线视频| 国产亚洲福利一区| 欧美国产国产综合| 欧美亚洲系列| 99精品99久久久久久宅男| 久久久久久久久一区二区| 亚洲乱码日产精品bd| 国产亚洲欧洲997久久综合| 欧美激情性爽国产精品17p| 亚洲欧美综合v| 亚洲国内自拍| 免费欧美电影| 欧美一级免费视频| 一区二区三区.www| 在线观看视频一区二区| 国产精品―色哟哟| 欧美精品18+| 久久在线播放| 欧美一区二区三区婷婷月色| 亚洲精品社区| 欧美韩日一区二区三区| 久久精品99国产精品| 亚洲一区二区三区精品动漫| 亚洲国产三级网| 影院欧美亚洲| 国产一区二区三区免费在线观看| 国产精品黄色| 欧美精品一卡二卡| 欧美成人精品激情在线观看| 欧美在线综合| 香蕉成人伊视频在线观看| 夜夜爽www精品| 日韩香蕉视频| 亚洲日本aⅴ片在线观看香蕉| 欧美成人综合一区| 久久在线免费| 久久精品欧洲| 久久精品国产999大香线蕉| 午夜精品国产更新| 亚洲中无吗在线| 亚洲女爱视频在线| 亚洲自拍16p| 亚洲已满18点击进入久久| 中国女人久久久| 亚洲视频1区2区| 亚洲午夜激情| 午夜在线电影亚洲一区| 亚洲欧美日韩国产中文在线| 亚洲综合第一| 午夜精品亚洲| 久久精品一区二区三区四区| 久久精品一本| 老巨人导航500精品| 欧美成人中文字幕| 亚洲第一天堂av| 亚洲国产精品99久久久久久久久| 亚洲电影免费观看高清完整版在线观看 | 狠狠色综合网站久久久久久久| 国内精品伊人久久久久av一坑| 国产一区视频网站| 亚洲高清一区二| 一区二区三区久久| 午夜视频在线观看一区二区三区| 欧美伊人久久| 麻豆国产va免费精品高清在线| 亚洲大胆人体在线| 亚洲乱码视频| 亚洲欧美日韩高清| 麻豆精品视频在线| 欧美视频一区二区三区…| 国产欧美日韩不卡| 亚洲激情国产精品| 亚洲永久精品国产| 久热精品视频在线观看一区| 91久久在线播放| 欧美一级免费视频| 欧美电影资源| 国产亚洲成av人在线观看导航| 亚洲国产日韩欧美在线动漫| 亚洲一区在线播放| 欧美1级日本1级| 亚洲影视中文字幕| 欧美成熟视频| 国产亚洲精品久久久久动| 99热免费精品在线观看| 久久精品综合网| 99视频有精品| 免费人成精品欧美精品| 国产精品美女诱惑| 亚洲激情二区| 久久久国产精品一区| 99视频精品全部免费在线| 久久av一区二区| 国产精品日韩在线播放| 日韩一区二区电影网| 久久在线91| 亚洲欧美在线免费| 欧美日韩一区二区三区免费看| 亚洲电影av| 久久久综合香蕉尹人综合网|