資料型別 3

2021-05-04 11:22:44 字數 2084 閱讀 8701

。元件api及介面指標中,除了iunknown::addref()和

iunknown::release()兩個函式外,其它所有的函式,都以 hresult 作為返回值。

hresult 值含義

s_ok 0x00000000 成功

s_false 0x00000001 函式成功執行完成,但返回時出現錯誤

e_invalidarg 0x80070057 引數有錯誤

e_outofmemory 0x8007000e 記憶體申請錯誤

e_unexpected 0x8000ffff 未知的異常

e_notimpl 0x80004001 未實現功能

e_fail 0x80004005 沒有詳細說明的錯誤。一般需要取得 rich error 錯誤資訊(注1)

e_pointer 0x80004003 無效的指標

e_handle 0x80070006 無效的控制代碼

e_abort 0x80004004 終止操作

e_accessdenied 0x80070005 訪問被拒絕

e_nointe***ce 0x80004002 不支援介面

/bstr 其實是乙個指標型別,它的記憶體結構是:

bstr 是乙個指向 unicode 字串的指標,因此 bstr 和 lpolestr 可以在一定程度上混用,但一定要注意:

有函式 fun(lpcolestr lp),則你呼叫 bstr p=...; fun(p); 正確

有函式 fun(const bstr bstr),則你呼叫 lpcolestr p=...; fun(p); 錯誤!!!

2、函式 multibytetowidechar(),轉換 mbcs 到 unicode。使用範例:

lpcstr lpa = "hello,你好";

size_t alen = strlen( lpa ) + 1;

int wlen = multibytetowidechar(

cp_acp,

0,lpa,

alen,

null,

0);lpolestr lpw = new wchar [wlen];

multibytetowidechar(

cp_acp,

0,lpa,

alen,

lpw,

wlen);

... ... ... ...

delete lpw;

3、使用 atl 提供的轉換巨集。

a2bstr ole2a t2a w2a

a2cole ole2bstr t2bstr w2bstr

a2ct ole2ca t2ca w2ca

a2cw ole2ct t2cole w2cole

a2ole ole2cw t2cw w2ct

a2t ole2t t2ole w2ole

a2w ole2w t2w w2t

上表中的巨集函式,其實非常容易記憶:

2 好搞笑的縮寫,to 的發音和 2 一樣,所以借用來表示「轉換為、轉換到」的含義。

a ansi 字串,也就是 mbcs。

w、ole 寬字串,也就是 unicode。

t 中間型別t。如果定義了 _unicode,則t表示w;如果定義了 _mbcs,則t表示a

c const 的縮寫

#include

void fun()

使用 atl 轉換巨集,由於不用釋放臨時空間,所以使用起來非常方便。但是考慮到棧空間的尺寸(vc 預設

2m),使用時要注意幾點:

1、只適合於進行短字串的轉換;

2、不要試圖在乙個次數比較多的迴圈體內進行轉換;

3、不要試圖對字元型檔案內容進行轉換,因為檔案尺寸一般情況下是比較大的;

4、對情況 2 和 3,要使用 multibytetowidechar() 和 widechartomultibyte();

六、variant

bool 1(char) 0(false) 1(true)

bool 4(int) 0(false) 1(true)

vt_bool 2(short int) 0(variant_false) -1(variant_true)

3 資料型別

python 的資料型別 1.整數10 進製和16 進製 使用前加0x 2.浮點型 小數 表示時用e代替 10 科學計數法 3.字串型別 用 或者 括起來的任意文字 4.布林值 true 和false 運算有 and or not 5.空值none 不為0 6.變數 動態變數可以反覆賦值而且賦值型別...

Python資料型別 3

1.集合 集合是乙個無序且無重複元素的資料組合,它的主要作用如下 1 去重,當把乙個列表變成集合時,就自動去重了 2 關係測試,測試兩組資料之間的交集 差集以及並集等資料關係。list 1 1,2,4,7,3,4,7,9 set 1 set list 1 print set 1,type list ...

mysql筆記3 資料型別

整數型別 tinyint smallint mediumint int bigint 8 16 24 32 64 可選屬性 unsigned 對字元寬度的定義,如int 11 這並不會限制值的範圍,只是規定了客戶端顯示字元的個數,在儲存的時候,int 1 和int 21 是一樣的 可以使用decim...