首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

VC++ 常用資料類型轉換速查表 (精簡版)

     編輯:VC 教學

一、數值/基本型別 → 字串 (char*)

int i = 100; long l = 2001; char buf[256];
itoa(i, buf, 10);      // 十進制
itoa(i, buf, 2);       // 二進制
ltoa(l, buf, 10);      // 長整數
// 浮點數建議用 sprintf
sprintf(buf, "%f", 3.14);
sprintf(buf, "%.2f", 3.14159); // 保留兩位小數

二、CString/COM 字串 → char*

// CString (ANSI 專案)
CString str = "Hello";
char* p = (LPSTR)(LPCTSTR)str;

// _variant_t (BSTR)
_variant_t v = "World";
char* p = _com_util::ConvertBSTRToString((_bstr_t)v);

三、字串 → 數值/基本型別

char buf[] = "12345";
int i = atoi(buf);
long l = atol(buf);
double d = atof(buf);

四、數值/指標 → CString

CString str;
str.Format(_T("%d"), 100);
str.Format(_T("%.2f"), 3.14);
str = "直接賦值"; // char* / TCHAR*

五、BSTR / _bstr_t / CComBSTR 互轉

  • BSTR:COM 寬字串,SysAllocString/SysFreeString 管理。
  • _bstr_t:C++ 智慧封裝,**推薦首選**,運算子重載豐富,自動引用計數。
  • CComBSTR:ATL 封裝,功能相近。
// char* → BSTR
BSTR b = _com_util::ConvertStringToBSTR("資料"); // 需 comutil.h + comsupp.lib
// BSTR → char*
char* p = _com_util::ConvertBSTRToString(b); delete[] p;

// _bstr_t 直接轉換
_bstr_t bt = "text";
const char* p = bt; // 僅讀
_bstr_t bt2 = "other"; // 複製

六、VARIANT / _variant_t / COleVariant

// 手動 VARIANT
VARIANT v; VariantInit(&v);
v.vt = VT_I4; v.lVal = 2001;

// _variant_t (推薦)
_variant_t vt1(100);
_variant_t vt2 = (long)200;
_variant_t vt3 = "字串"; // 自動 VT_BSTR

// COleVariant
COleVariant ov1("字串"), ov2((long)1999);
CString s = (BSTR)ov1.pbstrVal;
long val = ov2.lVal;

七、WPARAM/LPARAM 位元拆解

LPARAM lParam;
WORD lo = LOWORD(lParam);  // 低 16 位
WORD hi = HIWORD(lParam);  // 高 16 位

WORD wVal;
BYTE lo8 = LOBYTE(wVal);   // 低 8 位
BYTE hi8 = HIBYTE(wVal);   // 高 8 位
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved