Marshall c#string to c ++

时间:2012-08-07 11:22:46

标签: c# marshalling

我想知道如何将C#字符串编组为本机C ++ char *。我正在尝试它,但似乎没有任何工作。提前谢谢。

1 个答案:

答案 0 :(得分:0)

请记住,C ++ char实际上是一个字节,所以你需要使用像

这样的字节[]传递它
string str; // Contains string to pass to C++ DLL
byte[] bytes = Encoding.UTF8.GetBytes(str);
MyFun(bytes); // Call the C++ function with the string

另请参阅Pass C# string to C++ and pass C++ result (string, char*.. whatever) to C#了解不同的观点。