C++ C# 字符串传递问题

C++(MFC)调用C#编写的DLL,现在在C++的代码中,要给C#传递一个字符串参数,请问怎么传递?C#代码可做一定的修改,只要能实现C++到C#的字符串传递即可。Th... C++(MFC) 调用 C# 编写的DLL,
现在在 C++ 的代码中,要给 C# 传递 一个字符串参数,请问怎么传递?

C#代码可做一定的修改,只要能实现 C++到C# 的字符串传递即可。
Thanks.
用了一个笨方法:

C++ 代码:

CString sstr = _T("content");
char c[100];
for(int i=0;i<sstr.GetLength();i++)
{
c[i]=sstr[i];
sp->ReceiveCData[i]=c[i];// ReceiveCData是C#中定义的 byte[]
}

C# 代码:

ReceiveCDataStr = System.Text.Encoding.GetEncoding("gb2312").GetString(ReceiveCData, 0, length);
展开
 我来答
stgogo123
2015-04-11 · TA获得超过179个赞
知道小有建树答主
回答量:88
采纳率:100%
帮助的人:81.9万
展开全部
最简单的是建立一个C++CLR项目,写一个函数作为过渡,不然C#里面的函数很难暴露给C++。参考这个
http://www.codeproject.com/Tips/695387/Calling-Csharp-NET-methods-from-unmanaged-C-Cplusp
其实反过来C#调用C++就简单多的多了。

或者用Pipe,Socket之类的进程通信,毕竟要多一个进程,也不算太方便。
擎天0302
2015-03-29 · TA获得超过112个赞
知道答主
回答量:137
采纳率:100%
帮助的人:58.9万
展开全部
你百度一下socket编程,我以前做成功过!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式