- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个这样的字符串数组:
using std::string;
string myArray[] = { string("abc"), string("foo"), string("muh") };
现在我想使用这个功能:
HRESULT Init(T* begin, T* end, IUnknown* pUnk, CComEnumFlags flags = AtlFlagNoCopy );
在我的案例中,T 是 LPOLESTR。所以我需要分别将 std::string 数组转换为 LPOLESTR 我需要一个 LPOLESTR* 来开始和结束这个数组。这是怎么做到的?
提前致谢
最佳答案
ATL 有一个 set of macros用于字符串转换。在您的情况下,您可以使用:
LPOLESTR olestr = A2OLE(std_str.c_str());
请注意,OLESTR 基本上是一个 wchar_t*,因此如果您使用的是 std::wstring(或宽字符字符串文字),您甚至不需要宏:
LPOLESTR olestr = std_wstr.c_str();
关于c++ - std::string 到 LPOLESTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7751437/
我需要 LPOLESTR (长指针 OLE 字符串)作为简单函数调用的参数。 根据 The Complete Guide to C++ Strings, Part II - String Wrappe
以下是我尝试过的,但没有成功。 std::wstring = L"Text"; USES_CONVERSION; LPOLESTR lpDesc = W2OLE((LPWSTR)wsDescr.c_s
我有一个这样的字符串数组: using std::string; string myArray[] = { string("abc"), string("foo"), string("muh") };
我想在 C++ 中连接 2 个字符串,我不能使用 char*。 我尝试了以下但不起作用: #define url L"http://domain.com" wstring s1 = url; wstr
当我尝试使用 CDynamicStringAccessor 从我的存储过程中检索“列名”然后写入我的 csv 文件的第一行时,我必须处理从 LPOLESTR 到 char* 的转换或 std::str
我是一名优秀的程序员,十分优秀!