C ++如何将char []数组转换为_bstr_t?

时间:2016-06-27 13:36:52

标签: c++ bstr-t

我想转换cbind(df, sapply(unique(gsub('\\d+', '', names(df))), function(i) rowSums(df[grepl(i, sub('\\d+', '', names(df)))]))) # 6Jun06 13Jun06 20Jun06 03Jul16 09Jul16 01Aug16 Jun Jul Aug #1 4 4 4 1 1 1 12 2 1 #2 5 5 5 2 2 2 15 4 2 #3 9 9 9 3 3 5 27 6 5 char,例如arraychar myArray[size]字符串。我试过这个,但它没有用:

_bstr_t

1 个答案:

答案 0 :(得分:0)

_bstr_t课程提供了一个const char*的转化词(_bstr_t::_bstr_t)。它执行从ANSI代码页编码(使用线程的当前语言环境)到UTF-16的字符转换,并构造_bstr_t对象:

 _bstr_t bstr = _bstr_t(myArray);

请注意,还有一个二进制_bstr_t::operator+(),其左侧是const char*。以下也是允许的:

_bstr_t test;
...
_bstr_t bstr = myArray + test;

<小时/> 如果您的输入char数组使用当前代码页使用ASCII或ANSI以外的编码,则必须使用MultiByteToWideChar从源编码手动转换为UTF-16,并构造{{ 1}}来自_bstr_t数组。