如何给VARIANT类型赋值
{
VARIANT var;
CString strText = _T("");
//初始化VARIANT类型变量
VariantInit(&var);
//给VARIANT类型变量赋值
var.vt = VT_I4;
var.lVal = (long)100;
strText.Format(_T("var = %d"), var.lVal);
MessageBox(strText);
//清除VARIANT类型变量
VariantClear(&var);
//给VARIANT类型变量赋值
var.vt = VT_R4;
var.fltVal = 1.23f;
strText.Format(_T("var = %f"), var.fltVal);
MessageBox(strText);
//改变VARIANT类型变量数据类型
VariantChangeType(&var, &var, 0, VT_R8);
strText.Format(_T("var = %f"), var.dblVal);
MessageBox(strText);
}如何将BSTR类型转换成CString类型
{
BSTR bstr = ::SysAllocString(L"Hello world!");
//强制转换
CString str = (CString)bstr;
CString strText = _T("");
strText.Format(_T("str = %s"), str);
MessageBox(strText);
::SysFreeString(bstr);
}如何将BSTR类型转换成TCHAR类型
{
BSTR bstr = L"Hello world!";
//调用ConvertBSTRToString函数
LPTSTR psz = _com_util::ConvertBSTRToString(bstr);
CString strText = _T("");
strText.Format(_T("psz = %s"), psz);
MessageBox(strText);
}如何将BYTE类型转换成WORD类型
{
//将2个BYTE类型数据组合成1个WORD类型数据
BYTE bLow = 0x00;
BYTE bHigh = 0xFF;
WORD wValue = MAKEWORD(bLow, bHigh);
CString strText = _T("");
strText.Format(_T("low-order byte:0x%02X"), bLow);
MessageBox(strText);
strText.Format(_T("high-order byte:0x%02X"), bHigh);
MessageBox(strText);
strText.Format(_T("WORD:0x%04X"), wValue);
MessageBox(strText);
}如何将BYTE转换成KB、MB和GB
如何将COLORREF类型转换成RGB分量
{
COLORREF cr = RGB(255, 128, 0);
//R分量
BYTE RED = GetRValue(cr);
//G分量
BYTE GREEN = GetGValue(cr);
//B分量
BYTE BLUE = GetBValue(cr);
CString strText = _T("");
strText.Format(_T("COLORREF值:0x%08X"), cr);
MessageBox(strText);
strText.Format(_T("R分量:0x%02X"), RED);
MessageBox(strText);
strText.Format(_T("G分量:0x%02X"), GREEN);
MessageBox(strText);
strText.Format(_T("B分量:0x%02X"), BLUE);
MessageBox(strText);
}如何将CString类型转换成BSTR类型
{
CString str = _T("Hello world!");
//调用CString::AllocSysString函数
BSTR bstr = str.AllocSysString();
CString strText = _T("");
strText.Format(_T("bstr = %s"), (CString)bstr);
MessageBox(strText);
::SysAllocString(bstr);
}如何将CString类型转换成TCHAR类型
{
CString str = _T("Hello world!");
//强制转换
LPTSTR psz1 = (LPTSTR)(LPCTSTR)str;
//调用CString::GetBuffer函数
LPTSTR psz2 = str.GetBuffer(str.GetLength());
str.ReleaseBuffer();
CString strText = _T("");
strText.Format(_T("psz1 = %s"), psz1);
MessageBox(strText);
strText.Format(_T("psz2 = %s"), psz2);
MessageBox(strText);
}如何将CString类型转换成基本数据类型
{
CString str1 = _T("100");
CString str2 = _T("1.23");
//将整型转换成CString
int a = atoi(str1);
//将实型转换成CString
double b = atof(str2);
CString strText = _T("");
strText.Format(_T("a = %d"), a);
MessageBox(strText);
strText.Format(_T("b = %f"), b);
MessageBox(strText);
}如何将DWORD类型转换成WORD类型
{
//将1个DWORD类型数据分解成2个WORD类型数据
DWORD dwValue = 0xFFAA5500;
WORD wLow = LOWORD(dwValue);
WORD wHigh = HIWORD(dwValue);
CString strText = _T("");
strText.Format(_T("DWORD:0x%08X"), dwValue);
MessageBox(strText);
strText.Format(_T("low-order word:0x%04X, high-order word:0x%04X"), wLow, wHigh);
MessageBox(strText);
}如何将TCHAR类型转换成BSTR类型
{
TCHAR sz[] = _T("Hello world!");
//调用ConvertStringToBSTR函数
BSTR bstr1 = _com_util::ConvertStringToBSTR(sz);
//使用_bstr_t
BSTR bstr2 = _bstr_t(sz);
CString strText = _T("");
strText.Format(_T("bstr1 = %s"), (CString)bstr1);
MessageBox(strText);
strText.Format(_T("bstr2 = %s"), (CString)bstr2);
MessageBox(strText);
}如何将TCHAR类型转换成CString类型
如何将WORD类型转换成BYTE类型
{
//将1个WORD类型数据分解成2个BYTE类型数据
WORD wValue = 0xFF00;
BYTE bLow = LOBYTE(wValue);
BYTE bHigh = HIBYTE(wValue);
CString strText = _T("");
strText.Format(_T("WORD:0x%04X"), wValue);
MessageBox(strText);
strText.Format(_T("low-order byte:0x%02X"), bLow);
MessageBox(strText);
strText.Format(_T("high-order byte:0x%02X"), bHigh);
MessageBox(strText);
}如何将WORD类型组合成DWORD类型
{
//将2个WORD类型数据组合成1个DWORD类型数据
WORD wLow = 0x5500;
WORD wHigh = 0xFFAA;
DWORD dwValue = MAKELONG(wLow, wHigh);
CString strText = _T("");
strText.Format(_T("low-order word:0x%04X"), wLow);
MessageBox(strText);
strText.Format(_T("high-order word:0x%04X"), wHigh);
MessageBox(strText);
strText.Format(_T("DWORD:0x%08X"), dwValue);
MessageBox(strText);
}如何将基本数据类型转换成CString类型
本文详细介绍多种数据类型之间的转换方法,包括基本数据类型、字符串类型、复合数据类型等,并提供了具体的代码示例,帮助读者理解和掌握不同类型间的转换。
590

被折叠的 条评论
为什么被折叠?



