C++/CLI中如何把string类型转换成char类型? 25

String^strNum1;charch;Console::WriteLine(L"请输入一个运算符:");strNum1=Console::ReadLine();ch... String ^strNum1;
char ch;
Console::WriteLine(L"请输入一个运算符: ");
strNum1=Console::ReadLine();
ch=SByte::Parse(strNum1);
请问哪里有问题,我想设计一个运算器,求指教!
展开
 我来答
津卫天海
2013-01-09 · TA获得超过191个赞
知道小有建树答主
回答量:72
采纳率:0%
帮助的人:82.1万
展开全部
他们都没明白楼主问题,我也找了半天
不知道楼主还问不问,我找到这个方法了
把托管的字符串类型转化为非托管的char
using namespace System::Runtime::InteropServices;

// 非托管的字符串转化为托管的字符串
String^ UnmanagedStringA2ManagedString(char* pIn)
{
return Marshal::PtrToStringAnsi(static_cast<IntPtr>(pIn));
}
// 托管的字符串转化为非托管的字符串
char* ManagedString2UnmanagedStringA(String^ strIn)
{
IntPtr ip = Marshal::StringToHGlobalAnsi(strIn);
const char* pTemp = static_cast<const char*>(ip.ToPointer());
char *pOut = new char[strlen(pTemp)+1];
strcpy_s(pOut, strlen(pTemp)+1, pTemp);
Marshal::FreeHGlobal(ip);
return pOut;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
封神爷爷
2011-10-07
知道答主
回答量:54
采纳率:100%
帮助的人:24.7万
展开全部
string 转 char *
char *p = string.c_str();

string aa("aaa");
char *c=aa.c_str();
string mngName;
char t[200];
memset(t,0,200);
strcpy(t,mngName.c_str());
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d4e476e
2013-01-14 · TA获得超过101个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:49.6万
展开全部
#include <msclr/marshal.h>
using namespace msclr::interop;

String^ str = "hello";
marshal_context context;
const char* = context.marshal_as<const char*>(str);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tea_dove
2011-10-06
知道答主
回答量:41
采纳率:100%
帮助的人:14.6万
展开全部
#include <string>
using namespace std;

string a("hello");
char* b = a.c_str();

好像是这样吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式