将字符串从C#发送到C ++

时间:2012-02-21 17:32:13

标签: c# c++ visual-c++

我有一个C ++程序,可以对char search[500]数组进行一些处理。这里的躲闪是search[]必须从C#程序中分配值。

请注意,我有这个C#程序从textbox获取用户的输入,并且必须将此string发送到C#。

我已经能够将数据,函数和变量从C ++导出到C#,但我不熟悉如何完成相反的操作。

[DllImport("Test.dll", EntryPoint = "fnmain", CallingConvention = CallingConvention.Cdecl , CharSet = CharSet.Ansi)]
private static extern int fnmain();//pass what in parameter?

C ++

//search[] parameter has to be here. What type to be assigned to get from C# and further get search[] char array
    int main(char search[])
    {
    ..
    }

2 个答案:

答案 0 :(得分:1)

我认为您希望搜索成为string。我相信CharSet.Ansi是确保interop将字符串转换为char *所需的全部。

答案 1 :(得分:0)

这可能听起来很傻。您是否考虑过使用命令行参数调用C ++程序?如果初始化需要花费大量时间,则可以使用管道概念或从文件读取/写入文件。如果你可以做一些socket编程,那就意味着真正的异步数据传递。希望这有帮助。