












字符串转换:
#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);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。