问题如标题。
解决方案 »
- 如何利用VC++编程设计三维游戏场景?
- 如何用GDI+实现半透明笔的功能
- CListBox中如何输入转义字符\t
- VC菜鸟入门求教之二(功能组件)
- CInternetSession在console下怎么会出现unresolved external symbol __endthreadex的错误
- socket中数据报连接问题?
- 自己编写的以dll和ocx形式的COM组件,在发布该组件时除须用regsvr32注册外,还需要其他操作吗?
- 为什么有些函数在有MOUSE勾子中用不到
- 如何将字符数组赋值给字符串,在线等着呢,没有分了
- About Unhandled exception? anyone can help me, interpret to me?
- 高分求打印程序
- http编程的问题。我很少用,谁介绍一下。急啊
_variant_t ( 或COleVariant)
Cstring.AllocSysString基本上就是VARIANT v = _variant_t(s.AllocSysString());
CString str = "abc";
vst.SetString((const char*)str);
COleVariant( LPCTSTR lpszSrc );COleVariant( LPCTSTR lpszSrc, VARTYPE vtSrc );
VARIANT var = cs.AllocSysString();
如果你自身调用的话而不是通过函数传递调用那还要用
::SysFreeString(var);
应该为VARIANT var;
var.bstrVal = cs.AllocSysString();
(1)、一般传给这3个指针的值都不是MFC直接支持的数据类型,而要用_variant_t转换一下
_variant_t(XX)可以把大多数类型的变量转换成适合的类型传入:
(2)、_variant_t var;_variant_t -> long: (long)var;
_variant_t -> CString: CString strValue = (LPCSTR)_bstr_t(var);
CString -> _variant_t: _variant_t(strSql);
2、BSTR宽字符串与CString相互转换BSTR bstr;
CString strSql;
CString -> BSTR: bstr = strSql.AllocSysString();
BSTR -> CString: strSql = (LPCSTR)bstr;
3、_bstr_t与CString相互转换_bstr_t bstr;
CString strSql;
CString -> _bstr_t: bstr = (_bstr_t)strSql;
_bstr_t -> CString: strSql = (LPCSTR)bstr;