WinRT(C++/CX) Platform::String^ 与 std::string 的类型转换

Gist 仓库地址:https://gist.github.com/huihut/aa90bd3a202090e25b9a4792c80e6920

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string>

std::string Managed_Str_To_Std_Str(Platform::String^ ms)
{
std::wstring w_str(ms->Begin());
return std::string(w_str.begin(), w_str.end());
}

Platform::String^ Std_Str_To_Managed_Str(const std::string & input)
{
std::wstring w_str = std::wstring(input.begin(), input.end());
const wchar_t* w_chars = w_str.c_str();
return (ref new Platform::String(w_chars));
}