讀者層次:初學
剛接觸vc程式設計的朋友往往對許多資料型別的轉換感到迷惑不解,本文將介紹一些常用資料型別的使用。
我們先定義一些常見型別變數藉以說明
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)
i = atoi(temp);
長整型(long)
l = atol(temp);
浮點(double)
d = 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
資料型別 型別轉換
這樣的語句將報錯,因為char型別精度低於int型別,編譯器無法將其自動轉換,只能進行強制轉換 int x 65 char ch char x 舉例1 int age 19 char 女 char result age int 不可以自動轉換成char 精度損失 舉例2 int a 10 int b...
Objective C資料型別 資料型別轉換
資料型別 1.objective c資料型別可以分為 基本資料型別 物件資料型別和id型別。2.基本資料型別有 int float double和char型別。3.物件型別就是類或協議所宣告的指標型別,例如 nsautoreleasepool pool 其中,nsautoreleasepool是乙個...
資料型別轉換
資料型別轉換 public class typeconvert 一 容量小的資料型別自動轉換為容量大的資料型別 資料型別按容量大小排序為 byte,short,char int long float double byte,short,char之間不會互相轉換,他們三者在計算時首先回轉換為int型別...