当前位置: 代码迷 >> VC >> C# String在clr中赋值给C++ string解决方法
  详细解决方案

C# String在clr中赋值给C++ string解决方法

热度:324   发布时间:2016-05-05 00:11:24.0
C# String在clr中赋值给C++ string
请问:我有一个clr项目,在clr项目中调用了一个C#的dll,从而得到一个C#的String类型的数据,现在如何才能把这个String类型的数据赋值给标准C++的string类型?
C#?String C++?string

------解决方案--------------------
String^ s = ...
const char* chars = (const char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();
string cs = chars;
Marshal::FreeHGlobal(IntPtr((void*)chars));

------解决方案--------------------
没这么复杂,

char* a;
String^ s= gcnew String(a);

------解决方案--------------------
引用:
Quote: 引用:

没这么复杂,

char* a;
String^ s= gcnew String(a);

兄弟,你搞反了,不是char *转String,而是String转char *

不过现在我知道方法了...,就是用String[]就OK了,多谢关注

呃。。。。看反了。。。。。。

想不想知道怎么把一个托管对象指针转为一个 void* ?
------解决方案--------------------
直接传递过去就行了 
  相关解决方案