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);
posted @ 2026-09-08 20:39  double64  阅读(6)  评论(0)    收藏  举报