永发信息网

c++怎么传递string[] 到c#

答案:2  悬赏:0  手机版
解决时间 2021-02-25 09:53
c++怎么传递string[] 到c#
最佳答案
我也在找这个问题的答案,现在只知道传char[][]到c#,然后在c#里转为string[],下面是关键代码,希望可以帮到你,如果哪天你找到直接传string[]到c#的方法了,也能告知一下。
c++:
.h声明
extern "C" __declspec(dllexport) int __stdcall GetTableContent(char ch[][64], int *num);//ch传出到c#,可转为string[],num记录每一行的长度
.cpp实现
int __stdcall GetTableContent(char ch[][64], int *num)
{//给ch[][64]赋值}
c#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
...
[DllImport(@"Dll.dll", EntryPoint = "GetTableContent", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)]
extern static int GetTableContent([Out, MarshalAs(UnmanagedType.LPArray)] char[,] ch, int[] n10);
...
char[,] t1 = new char[r, 64];//r为c++中二维数组的行数
int[] n10 = new int[r];
int r1 = GetTableContent3(t1, n10);
//成功取出,接下来拼每一行单个string
这是我找到的其它资料,不过没看懂。http://download.csdn.net/download/clever101/9489018#comment;
全部回答
c++:char 数组名[数组大小] ---- c#:MarshalAs(UnmanagedType.ByValTStr, SizeConst = 数组大小)] public string 数组名; ushort
我怎么记得C++本身没有string 数组这个概念呢。。都是cha数组的数组吧?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
死都那么难吗?
黑龙江人在长春买房需要什么手续
我和对象散了我有对象了可是我还是想着以前的
手机如何直播
【一寸半照片尺寸】1寸半照片儿多大呀换算成
班柯大师葡萄酒现在有几种了?
请问这个状况明天晚上六点前能到吗?顺丰的。
一个人弃恶从善了,大家还是用老眼光看待他怎
奇瑞e3电脑版控制的怠速,没有油门拉线的能调
顺洲装饰枣庄分公司我想知道这个在什么地方
华诗歌是什么红酒?
【注意力集中的成语】表示注意力高度集中的成
陕西三代最低需要多少人才可以玩?
谁能给看看我这流盘什么意思?不懂!请大师给
中国移动双峰寺营业厅地址在什么地方,想过去
推荐资讯
超市69开头的13位条形码是什么格式的?
为什么单摆小球,动能有为零的时候
周记广东粥我想知道这个在什么地方
FIVE LITTLE PIGS HERCULE POIROT MYSTERIES
丁俊晖得到过什么奖项
台胞证开网吧
古董一词是什么意思
醉香卤这个地址在什么地方,我要处理点事
GUCCI 皮带100CM款 皮带到底有多长加皮带头子
请问,我的上菱老冰箱,泡沫里面结冰了,上面
【可爱英语】可爱的英文单词是什么?
毛巾发腻如何处理
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?