std::string to LPOLESTR
std::string to LPOLESTR
我有一个像这样的字符串数组:
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有一组用于字符串转换的宏。在您的情况下,您可以使用:
LPOLESTR olestr = A2OLE(std_str.c_str());
注意OLESTR基本上是一个wchar_t*,所以如果您使用std::wstring(或宽字符字符串字面量),甚至不需要宏:
LPOLESTR olestr = std_wstr.c_str();
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- C++ Singleton - Prevent ::instance() to variable
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- Python str to C++ to Python str
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- "no matching function for call to 'Vector::Vector'"错误
- vector<vector<double>> to mxArray using memcpy
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- 当覆盖存在时调用基本虚拟"binded to object"函数
- OpenGL VBO Indexing ( How to compute Index Array)
- 为什么我会" void value not ignored as it ought to be"?
- std::string to LPOLESTR