CString 型轉化成 BSTR 型

2021-04-23 09:23:13 字數 1000 閱讀 6529

當我們使用 activex 控制項程式設計時,經常需要用到將某個值表示成 bstr 型別。

我們先來看看variant

typedef tagvariant variant;

struct  tagvariant

__variant_name_4;

} __variant_name_3;

} __variant_name_2;

decimal decval;

} __variant_name_1;

};很複雜    

簡化後struct   tagvariant      

__variant_name_3;   

}         __variant_name_2;   

decimal   decval;   

}        __variant_name_1;   

};bstr bstrval; 是表示字串的 我們就說說bstr  但是我們怎麼得到bstr  如何將我們熟悉的cstring轉化成bstr呢?

bstr 是一種記數字串,intel平台上的寬字串(unicode),並且 可以包含嵌入的 null 字元。

你可以呼叫 cstring 物件的 allocsysstring 方法將 cstring 轉化成 bstr:

cstring s;

s = ... ; // whatever

bstr b = s.allocsysstring();

現在指標 b 指向的就是乙個新分配的 bstr 物件,該物件是 cstring 的乙個拷貝,包含終結 null字元。現在你可以將它傳遞給任何需要 bstr 的介面。通常,bstr 由接收它的元件來釋放,如果你需要自己釋放 bstr 的話,可以這麼做:

::sysfreestring(b);

對於如何表示傳遞給 activex 控制項的字串,在微軟內部曾一度爭論不休,最後 visual basic 的人佔了上風,bstr("basic string"的首字母縮寫)就是這場爭論的結果。

漢字轉化成拼音

漢字轉化為拼音類 people new pinyin echo people output 張珊 class pinyin 漢字轉化並輸出拼音 param string str 所要轉化拼音的漢字 param boolean utf8 漢字編碼是否為utf8 return string public...

C 字串轉化成浮點型

char szstring 3.1415926535898 atof szstring sscanf szstring2,lf db2 1.常見用法。char buf 512 sscanf 123456 s buf 此處buf是陣列名,它的意思是將123456以 s的形式存入buf中!printf ...

字元轉化成Ascii碼

var employeecode document.getelementbyid txtemployeecode 獲得文字物件 var cd employeecode.value 獲得文字值 for var a 0 aascii碼轉化成字元的方法 var realkey string.fromcha...