English 中文(简体)
在用本地字符串创建 BSTR (使用 _bstr_t 包装器) 时, 我如何设置长度?
原标题:How can I set the length, when creating a BSTR (using _bstr_t wrapper) by a native string?

当创建 < a href=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

例如:

wchar_t* pwNativeString = L"abcdefghi"; // + automatic ""

// Now I want to create a BSTR using _bstr_t by this string.
_bstr_t spBSTR = _bstr_t(pwNativeString);

问题在于构建器依赖于 pwNativeString 的无效终止。 因此, 产生的 BSTR 仅仅是 abc> , 仅此而已。 因此, 我的问题是 : 如何创建 BSTR

_bstr_t spBSTR = _bstr_t(pwNativeString, 15);
最佳回答

使用 < a href=" http://msdn. microsoft.com/ en- us/ library/ f98bff39- bc5f-4a81- 85d7- d5228e20fc.8% 28V. 85%29" rel= "nofollow" 来分配 < code> BSTL < /code >, 然后使用两个参数 构建器从它创建一个 对象 < code_ bstr_ t < /code > 对象。 如果您设定第二个参数为 < secode> < true < true , 那么你需要调 < href=" "http://msdn. microsoft.com/ us/libraycode.

BSTR bstrIn = SysAllocStringLen(L"abcdefghi", 15);
_bstr_t spBSTR(bstrIn, false);
问题回答

暂无回答




相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...