b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

colevariant_colevariant 哪个类_colevariant用法(13)

电脑杂谈  发布时间:2017-01-21 04:03:09  来源:网络整理

CComVariant comVT;

comVT=oleS;//将BSTR转成CComVariant,这里一步也可,comVT=A2WBSTR((char*)s);

谢谢你!

但我还有一个问题,就是如果在s中有'\0'之类的东西我该怎么返回呢?char *遇到'\0'会认为到头了。完整的设计是这样的,我定义一个void * 用来从一个外部设备获取数据,该数据应该是unsigned char,我想把这个返回的数据作为属性传出,让其它应用使用(如VB)。

将'\0'转换成其它如'\1'就OK了,

用字符串数组

SAFEARRAY *psa = SafeArrayCreateVector(VT_UI1, 0, 1000);

if (!psa)

return S_FALSE;

HRESULT hr;

for (long i = 0; i < 1000; i ++)

if (FAILED (hr = SafeArrayPutElement(psa, &i, ((unsigned char*)piaRefTemplate) + i)))

return S_FALSE;

VARIANT va;

va.vt = VT_ARRAY | VT_UI1;

va.parray = psa;

CComVariant *m_Temp = new CComVariant();

m_Temp->Copy(&va);

17。类型转换 static_cast reinterprete_cast 的区别??

static_cast reinterprete_cast 的区别

static_cast会检查转换类型健的相关性

如果没有的画会有编译错误

reinterprete_cast就是硬转了

是否可以这样理解:在多重继承中,static_cast可实现对象指针的移动,从而指向正确的父类对象部分,而reinterprete_cast不作偏移?

在多重继承中可以用dynamic_cast啊

18。那如何取得CString中的字符串??

=(LPCTSTR)CString变量

方法太多了:

GetAt,Left,Mid,Right等等,就看你怎么取了!

可是不管是GetAt,Left,Mid,Right返回类型都是CString,还是不能用,我是要取其中的字符串,奇怪的是,VC中没有string类型。(我要的字符串是给树型控件中的分支名称)

有string类型的啊,要包含<string>

加上(LPCTSTR),相当于一个const char *了,还不能用?

GetBuffer

(LPSTR)(LPCTSTR)

...m_str.GetBuffer(needlen)...;

....

m_str.ReleaseBuffer()

espon99大侠,果然是绝招,不过能否解释一下啊?

19。如何从CString类型转换为Unicode string 类型?

CString本身就支持Unicode的。

只要你选择的是UniCode编译,生成的可执行程序就是支持UniCode的

CString类是自适应的就像TCHAR一样,如果你定义了UniCode宏 就会以UniCode编译

不是呀,我有个函数中有一个参数需Unicode string 类型的,比如应该填L"abc",而且引号中的内容要有变化,现在我有一个 temp变量,是CString类型的,如何用呀?

_T()

_TEXT()

行不行?

不行

强制转化:

CString temp;


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27731-13.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 滨崎步
      滨崎步

      诺列加的前车之鉴你忘了

    热点图片
    拼命载入中...