转自 http://support.microsoft.com/kb/311259
使用的第二种方法
注意在头文件中#include <msclr/marshal.h>
另外 using namespace System::Runtime::InteropServices;
System::String * str = S"Hello world/n";
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);
printf(str2);
Marshal::FreeHGlobal(str2);
第一种方法 说是 __pin 是老语法,需要在编译时加上一个选项,
故弃而不用。
第三种方法没有试。
本文介绍了使用C#与.NET框架进行互操作的方法,重点讨论了三种不同的转换字符串到C风格字符串的方式。其中包括使用msclr/marshal.h头文件和System::Runtime::InteropServices命名空间来实现跨平台字符串传递的技术细节。
2140

被折叠的 条评论
为什么被折叠?



