C++中将VARIANT转为CString

studentdsx 2015-06-29 10:22:36
我从数据库中读出的字符串是例如“08:00:00”这样的时间字符串,但是用网上的转换函数转换出来的是乱码,求解

CString CGraph::VariantToString(VARIANT var)
{
CString strValue;
_variant_t var_t;
_bstr_t bst_t;
time_t cur_time;
CTime time_value;
COleCurrency var_currency;
switch(var.vt)
{
case VT_EMPTY:
strValue=_T("");
break;
case VT_UI1:
strValue.Format(_T("%d"),var.bVal);
break;
case VT_I2:
strValue.Format(_T("%d"),var.iVal);
break;
case VT_I4:
strValue.Format(_T("%d"),var.lVal);
break;
case VT_R4:
strValue.Format(_T("%f"),var.fltVal);
break;
case VT_R8:
strValue.Format(_T("%f"),var.dblVal);
break;
case VT_CY:
var_currency=var;
strValue=var_currency.Format(0);
break;
case VT_BSTR:
var_t=var;
bst_t=var_t;
strValue.Format (_T("%s"),(const char*)bst_t);
break;
case VT_NULL:
strValue=_T("");
break;
case VT_DATE:
cur_time = (long)var.date;
time_value=cur_time;
strValue=time_value.Format("%A,%B%d,%Y");
break;
case VT_BOOL:
strValue.Format(_T("%d"),var.boolVal );
break;
default:
strValue=_T("");
break;
}
return strValue;
}
...全文
126 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly_dragon_fly 2015-06-30
  • 打赏
  • 举报
回复
var.vt是什么类型
赵4老师 2015-06-30
  • 打赏
  • 举报
回复
字符串那些事儿:BSTR-LPSTR-LPWSTR-CString-VARIANT-COleVariant-_variant_t-CComBSTR-_bstr_t http://blog.csdn.net/pizi0475/archive/2010/03/04/5346708.aspx

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧