vc資料型別轉換大全 1

2021-04-19 04:59:03 字數 2302 閱讀 3582

vc資料型別轉換大全

2023年07月10日 星期二 18:40

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;

一、其它資料型別轉換為字串

二、字串轉換為其它資料型別

strcpy(temp,"123");

三、其它資料型別轉換到cstring

使用cstring的成員函式format來轉換,例如:

四、bstr、_bstr_t與ccombstr

五、variant 、_variant_t 與 colevariant

六、其它一些com資料型別

七、ansi與unicode

unicode稱為寬字元型字串,com裡使用的都是unicode字串。

八、其它

九、注意事項

假如需要使用到convertbstrtostring此類函式,需要加上標頭檔案comutil.h,並在setting中加入comsupp.lib或者直接加上#pragma comment( lib, "comsupp.lib" )

關於把bstr型別資料轉換成cstring 型別資料時的問題

?當我在把bstr型別資料轉換成cstring 或 「char* 型別」資料時,發現在bstr型別字串較短的情況下沒問題,當較長時就會出現

記憶體讀寫錯了。(在nt,2000下都測試是這樣的。)

根據你所說:

1)字串指標(char *)等已經被cstring建構函式支援的資料型別 可以直接賦值 str = username;

2)當b 為bstr型別時可以使用

char *p=_com_util::convertbstrtostring(b);

於是以下是對的:

cstring cstr;

bstr bstr;

....

cstr=com_util::convertbstrtostring(bstr);

...可是當bstr非常大時(其實,較大時就會)就會出現記憶體讀寫錯,不知何故。

此外我發現cstr=com_util::convertbstrtostring(bstr);

可以簡化為 cstr=bstr; 但當bstr較大時同樣出現這個問題。

請兄弟幫忙!急。謝謝!

如何轉化((list*)fileip.bian)->liang

關於把cstring轉化成lpctstr的問題

我記的我以前寫過這樣一段**

void function()

bstr => cstring(std::string)bstr a ;

cstring strtemp ;

の場合は、

strtemp = (lpctstr)(_bstr_t)a ;

_bstr_t(l"select * from firewallproduct")

std::string => lpstr

std::string str;

lpstr  = str.c_str()

_variant_t => std::string

std::string variant2string( _variant_t vstring )

vstring.changetype(vt_bstr);

char* temp = _com_util::convertbstrtostring( vstring.bstrval );

std::string str = temp;

deletetemp;

return str;

直接 std::string str = _com_util::convertbstrtostring( vstring.bstrval ); 轉有記憶體洩漏

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 一 其它資料型別轉換為字串 二 字串轉...

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 一 其它資料型別轉換為字串 二 字串轉...

VC資料型別轉換大全 2

三 其它資料型別轉換到cstring 使用cstring的成員函式format來轉換,例如 整數 int str.format d i 浮點數 float str.format f i 字串指標 char 等已經被cstring建構函式支援的資料型別可以直接賦值 str username 對於for...