C# 字符串转换
字符串转换:
#include <msclr/marshal_cppstd.h>
using namespace msclr::interop;
// 从 std::string 转为 System::String^
std::string nativeStr = "Hello";
String^ managedStr = marshal_as<String^>(nativeStr);
// 从 System::String^ 转为 std::string
String^ managedMsg = "World";
std::string nativeMsg = marshal_as<std::string>(managedMsg);
#include <msclr/marshal_cppstd.h>
using namespace msclr::interop;
// String^ -> const char*
String^ managedStr = "Hello World";
std::string nativeStr = marshal_as<std::string>(managedStr);
const char* pChar = nativeStr.c_str(); // 注意:这个指针只在 nativeStr 生命周期内有效
// const char* -> String^
const char* pNative = "Hello from native";
String^ managedResult = marshal_as<String^>(pNative);
浙公网安备 33010602011771号