托管类型转换:const char* && string && String^ 类型转换

本文详细介绍了如何在C++与.NET框架中进行不同字符串类型之间的相互转换,包括从const char*到string、String^,以及它们之间的逆向转换过程。通过具体的代码示例,展示了跨平台开发中字符串互操作的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

comment:
string is C++ type;
String^ is CLR/C++ and C# type;

const char* —> string
1:
const char * cw= “kkkkkkkkkk”;
string sw = cw;

string —> const char*
1:
using namespace std;
string s = “kkkkk”;
const char* cc = s.data();

const char* —String^
using namespace System::Runtime::InteropServices;
1:
const char* cc = “dddddddddd”;
System::String^ cmStr = gcnew System::String(cc);
2:
const char* iconData = “sjhfksssssl”;
String^ temp = String(iconData).ToString();

String^ —> const char*
1:
using namespace System::Runtime::InteropServices;
String^ className = “hhhh”;
const char* ts = (char*)(Marshal::StringToHGlobalAnsi(className)).ToPointer();

String^ —> string
1:
using namespace System::Runtime::InteropServices;
String^ className = “hhhh”;
const char* ts = (char*)(Marshal::StringToHGlobalAnsi(className)).ToPointer();
string sw = ts;

string —> String^
string sw = “shkhk”;
const char* cw = sw.data();
String^ temp = String(cw).ToString();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值