gpt4 book ai didi

string - BSTR 和字符串

转载 作者:行者123 更新时间:2023-12-02 22:28:35 27 4
gpt4 key购买 nike

BSTR DoSOmething()
{
return L"";
}

或者是否可以将 TCHAR * 传递给以 BSTR 作为输入参数的 API。

通过返回语句将 wchar_t 字符串转换为 BSTR 是否可以。它会导致内存损坏吗?

最佳答案

不,这不行,因为一些 API 不仅需要一个 WCHAR* 指针,BSTR 也是,而且还需要一个真正的 BSTR附有长度信息的指针。仍然以这种方式转换通常效果很好,但这可能会产生误导。

关于 BSTR 的一切:Eric's Complete Guide To BSTR Semantics .

那里的相关引述:

2) A BSTR must be allocated and freed with the SysAlloc* family of functions. A PWSZ can be an automatic-storage buffer from the stack or allocated with malloc, new, LocalAlloc or any other memory allocator.

3) A BSTR is of fixed length. A PWSZ may be of any length, limited only by the amount of valid memory in its buffer.

4) A BSTR always points to the first valid character in the buffer. A PWSZ may be a pointer to the middle or end of a string buffer.

关于string - BSTR 和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12619348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com