我想将 a 转换为例如char
array
字符串。我试过这个,但它不起作用:char myArray[size]
_bstr_t
_bstr_t test;
for (int i = 0; i < myArrayLength; i++) {
test = test + (_bstr_t) myArray[i];
}
该类_bstr_t
提供了一个转换 c'tor ( _bstr_t::_bstr_t ),它采用const char*
. 它执行从 ANSI 代码页编码(使用线程的当前语言环境)到 UTF-16 的字符转换,并构造一个_bstr_t
对象:
_bstr_t bstr = _bstr_t(myArray);
请注意,还有一个二进制_bstr_t::operator+(),它将 aconst char*
作为其左侧。以下情况也是允许的:
_bstr_t test;
...
_bstr_t bstr = myArray + test;
char
数组使用当前代码页使用 ASCII 或 ANSI 以外的编码,则必须使用MultiByteToWideChar_bstr_t
手动将源编码转换为 UTF-16,并从wchar_t
数组构造 a 。