CString C****::Format(_variant_t var)
{
DATE dt;
COleDateTime da;
CString strValue;
switch (var.vt)
{
case VT_BSTR://字符串
case VT_LPSTR://字符串
case VT_LPWSTR://字符串
strValue = (LPCTSTR)(_bstr_t)var;
break;
case VT_I2://短整型
strValue.Format("%d", var.iVal);
break;
case VT_UI2://无符号短整型
strValue.Format("%d", var.uiVal);
break;
case VT_VOID://
case VT_INT://整型
case VT_I4://整型
strValue.Format("%d", var.intVal);
break;
case VT_I8://长整型
strValue.Format("%d", var.lVal);
break;
case VT_UINT://无符号整型
case VT_UI4://无符号整型
strValue.Format("%d", var.uintVal);
break;
case VT_UI8://无符号长整型
strValue.Format("%d", var.ulVal);
break;
case VT_R4://浮点型
strValue.Format("%.4f", var.fltVal);
break;
case VT_R8://双精度型
strValue.Format("%.8f", var.dblVal);
break;
case VT_DECIMAL: //小数
strValue.Format("%.4f", var.decVal);
break;
case VT_BOOL://布尔型
strValue = var.lVal ? "TRUE" : "FALSE";
break;
case VT_DATE: //日期型
dt = var.date;
da = COleDateTime(dt);
strValue = da.Format("%Y-%m-%d %H:%M:%S");
break;
case VT_NULL://NULL值
strValue = "NULL";
break;
case VT_EMPTY://空
strValue = "";
break;
case VT_UNKNOWN://未知类型
default:
strValue = "UN_KNOW";
break;
}
return strValue;
}
VC++ _variant_t型变量格式化成CString型字符串
最新推荐文章于 2026-06-04 12:57:21 发布
该段代码展示了如何在VC++中将_variant_t类型的变量转换为CString字符串。根据变量的不同类型,如VT_BSTR、VT_I4、VT_R8等,使用Format方法生成对应的字符串表示,包括日期型(VT_DATE)转换为"%Y-%m-%d %H:%M:%S"格式,NULL值表示为"NULL"。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

429

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



