问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

DLL返回字符串的问题.求助啊.在C#中调用...

发布网友 发布时间:2022-05-13 10:44

我来回答

2个回答

热心网友 时间:2023-10-08 19:31

tmpPath为什么要使用static 标记。好像记得 static char * 是只初始化一次的,比如第一次传入的length是10,那么 path 指向长度为11的一个内存空间传出函数。第二次传入一个12,但是因为static 只初始化一次,所以tmpPath指向长度为11字节的内存空间,但是memcpy复制12字节的数据过去了,所以就报内存错误了。几年没碰c的东西了,不知道记得对不对。

热心网友 时间:2023-10-08 19:31

好像不支持内存读写把 有保护
你读写的是什么的内存啊
话说之前有个修改植物大战僵尸的修改器 是c#写的
你可以参考下那个
DLL返回字符串的问题.求助啊.在C#中调用...

第二次传入一个12,但是因为static 只初始化一次,所以tmpPath指向长度为11字节的内存空间,但是memcpy复制12字节的数据过去了,所以就报内存错误了。几年没碰c的东西了,不知道记得对不对。

求助C#调用C++DLL返回string-CSDN论坛

COM中最标准的做法应该是 从C++处返回一个SAFEARRAY,元素类型是BSTR c++代码:#include #include #pragma comment(linker, "/export:GetStrArr=_GetStrArr@0")extern "C" SAFEARRAY* APIENTRY GetStrArr(){ SAFEARRAY* r; SAFEARRAYBOUND b ...

求助:C# 调用C++的dll的回调函数的结构体数组的问题,为什么只得到数组的...

关键是 lpOnRecvCardEvent 这个函数的第二个参数是个 C++ 指针。楼主在 C# 中声明这个导出函数时,使用了并不对应的 CardEvent[] C# 数组类型。正确的做法是: 在 C# 声明 lpOnRecvCardEvent 时,第二个参数应该是 IntPtr ,不是数组。由于楼主的这个 VC DLL 可能是自己写的,我没办法给出正确...

...其中一个参数为LPCTSTR类型,在C#里使用的是string,是否对?

你好,楼主对字符集的设置可能有问题,设置为CharSet = CharSet.Auto,系统可能会把字符串以unicode的编码方式传到非托管代码,而LPCTSTR本质是char类型,而非wchar。实际运行的结果可能就是,只把字符串的第一个字母传下去了,即“C"。既然字符串都是ASCII字符,建议楼主将CharSet修改为CharSet.Ansi ...

我用C++做了一个DLL,有一个std::string类型的返回值参数,请问在C#中对...

1。 在dll中定义返回string字符串的函数时,如果没有特殊处理调用该函数 在退出调用该函数的过程(函数/事件)时,会出现以下错误:Invalid Pointer Operator!2。当在单元中添加ShareMem时,在退出程序的时候会出现同样的错误 3。当在调用dll的项目文件中(不是在单元文件)添加ShareMem时,能够正常 运行...

怎样在C#中调用DLL中的函数,最好有代码和详细说明

首先,应该在C#语言源程序中声明外部方法,其基本形式是:[DLLImport(“DLL文件”)]修饰符 extern 返回变量类型 方法名称 (参数列表)其中:DLL文件:包含定义外部方法的库文件。修饰符: 访问修饰符,除了abstract以外在声明方法时可以使用的修饰符。返回变量类型:在DLL文件中你需调用方法的返回变量类型。方法名称:在DLL文件...

C#调用C++的dll库怎么传递结构体中不定长度的char数组

…调用处检查一下inkInfoBytes的长度 DLL那边有源代码的话最好对着dll调试,在函数入口点下断点,看看传递进去的东西是什么样的,这样比较容易判断故障。调试方法就是打开dll的工程,C#的exe复制到debug文件夹里,在工程设置里面调试那边把启动程序设置成C#的那个exe,然后dll代码里下断点,然后开始调试 ...

求助:C#调用c++的dll,字符串传递问题

C#的定义 public static extern IntPtr run([MarshalAs(UnmanagedType.LPArray)]byte[] uml, [MarshalAs(UnmanagedType.LPArray)]byte[] name);调用 byte[] buml = new byte[]{};byte[] bname = new byte[]{};string a="bcde";string b="fghijk";buml = System.Text.Encoding.ASCII...

C#调用labview封装的DLL,为什么字符串出参返回一直是空?

字符串是不能转出值的.必须使用System.Text.StringBuilder类.或者使用已实例化的char[]数组.

c#调用c++写的dll 时,c++中有一函数返回值为char*。在c#中相应的数据...

用string。 char*表示返回一个字符类型的内存地址。此字符串在函数中应该不会有任何改变 stringbudiler是变动字符串常用的。

返回字符串 函数怎么返回字符串 函数返回字符串数组 return可以返回字符串吗 字符串问题1 字符串比较问题 字符串的类型 什么是字符串 字符串
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
反极化和超射有什么区别么? 飞利浦牙刷可以用多久 飞利浦电动牙刷寿命有多久? 电动牙刷可以用多久 飞利浦电动牙刷可以用多久 飞利浦电动牙刷使用寿命有多长? 电动牙刷柄可以用多久 电动牙刷柄使用寿命是多久? 一个电动牙刷能用多久 电动牙刷寿命有多长? 一支电动牙刷能用多久 电动牙刷的使用寿命有多长? 电动牙刷一般可以用多久 电动牙刷的使用寿命是多久? 电动牙刷多久换一次 电动牙刷何时更换最好? 大家帮忙看看这个电脑配置的价钱,及性能 玩玩大型单机游戏3D网游 下 ... 网线水晶头的顺序如果是错误的还能正常使用吗??? jna怎么得到dll中CHAR*的返回字符串 求教delphi dll 返回字符串 C#使用C++的托管Dll,使用pin_ptr传递String^,字符串尾部出现大量屯,要如何处理才能返回正确字符串? C++写的DLL的导出函数如何返回string 请教关于c++调用c++的dll返回字符串的问题 C语言生成dll,返回字符串,调用问题 C++编写有Dll中应该用什么作为字符串返回 怎么在dll中返回字符地址?现要求一个vc的dll,其中一个参数为char*,请问怎么让调用函数返回一字符串? DLL中的字符串返回值怎么处理 标准Dll文件,返回字符串 在DLL文件中如何写一个返回字符串的函数 沟槽开挖覆土深度怎么计算 如何计算挖基坑挖沟槽 详细?? 管道开挖深度如何算 华为nove8充电口掉漆 已知高程如何计算沟槽开挖深度,用水准仪如何计算 沟槽深度怎么计算的,知道水准点,高程,怎么求深度 挖土方工程中如何计算沟槽深度及基坑深度 算挖沟槽土方时沟槽深度算至哪里,是到垫层顶部还是底部 直埋管道所挖的沟槽深度,宽度,长度怎么确定 网线顺序错了,会出现什么反应? delphi写得DLL如何像易语言那样返回一串文本?? VC DLL返回字符串给VB的问题 怎么用C#编写个dll,用来读取SQL数据库中一张表的数据,然后返回XML格式字符串? C#调用C++dll 如何返回char* str[] delphi如何动态调用DLL返回字符串 delphi 调用DLL ,DLL返回一个16进制数,如何声明?如何将16进制数转换为字符串? vc2005编写的dll函数返回字符串数组怎样在c#中调用 公安联考选岗规则 支付宝里的广发好借钱申请到最后怎么还让输入支付宝的交易密码?是不 支付宝的马上借钱,是正规的借钱软件吗?按时还钱还会有不良影响吗? 附怎么读音是什么 附近的读音,附是第几声? float:left; 请问95781是中国银行的电话吗? 95781是法院电话? 掌上英雄联盟怎么跟好友发消息 普通手机如何截屏 请附这些字的拼音,谢谢 C语言待遇怎么样?我初中文化对计算机有兴趣英文不好。要学多久?