88问答网
所有问题
c#怎么调用c++结构体中的char* a= new char[100];
如题所述
举报该问题
推荐答案 2019-02-02
一般来说,托管进程尽量不要直接调用非托管进程的内存,否则容易发生内存访问错误。你可以通过接口的方式进行调用,如果要获取结构体数据,最好的方法是序列化它,在托管和非托管两边都定义同样的结构体,并且要确保内存结构一致(比如c++里的char是一个字节,而c#是两个字节),在托管分配好内存,由接口传递句柄,在非托管中拷贝内存到托管句柄内存中。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/MVKa1t1KMcgBMtt1MKa.html
相似回答
关于
c#调用c++的结构体
指针的问题
答:
0].ip
=
new
byte[16]; Array.Copy(ip1, ri[0].ip, ip1.Length); ri[0].iPort = 1234; byte[] ip2 = Encoding.ASCII.GetBytes("169.254.6.180"); ri[1].ip = new byte[16]; Array.Copy(ip2, ri[1].ip, ip2.Length); ri[1].iPort = 9999; R...
C++ 结构体
在
C#中
托管
调用
,编译报错误is not supported by the...
答:
2、用
C#
定义一个跟
C++
一样的
结构体
,然后再使用
C++中的结构体
转换到
C#中的
问题
答:
C#中
不需要为UInt32这种类型指定长度,这点和
Char[]
是不一样的。如果非要指定的话,在需要使用的属性上面加Attribute [System.Runtime.InteropServices.MarshalAs(UnmanagedType.SysUInt, SizeConst = 23)],其中最后的SizeConst是位数。[System.Runtime.InteropServices.StructLayout(LayoutKind.Sequential)]publ...
C++中结构体的char
类型
怎么
赋值?
答:
首先,你的
结构体
这样初始化:struct worker{int id
;char *
name;char *sex; }; 然后再赋值·worker w;w.id=2;w.name ="奥特曼";w.sex ="女";这样就不会有错了,你报错的原因是因为汉字所占空间(byte)大小与一个字符是不同的(如a)所以你预先定义的数组大小会与你所赋的值不匹配。还有如果用string的话...
C#中
使用结构体,在
结构体的
定义中又包含另一个结构体的数组,该
怎么
定义...
答:
程序调用时:采用 b ab; ab.suba
=new
a[
10];的方式。但是不推荐这样用,可以用类去代替struct ;注:
结构体
内的变量最好加public 关键词。即:struct b{public int id;public a[] suba;} struct a { public int start; public int end; } struct b { public int id; public a[] suba; } static ...
C#调用C++的
dll库
怎么
传递
结构体中
不定长度
的char
数组
答:
然后inkInfoBytes不用
new
初始化其实……调用处检查一下inkInfoBytes的长度 DLL那边有源代码的话最好对着dll调试,在函数入口点下断点,看看传递进去的东西是什么样的,这样比较容易判断故障。调试方法就是打开dll的工程,
C#的
exe复制到debug文件夹里,在工程设置里面调试那边把启动程序设置成C#的那个exe,...
C#
调用C++
函数
中的结构体
报错 尝试读取或写入受保护的...
答:
这是
C++中的结构体
typedef struct { long Serial_No; UCHAR ValidateTime[7]; UCHAR IdentityCard[19]; UCHAR ICCardNo[13]; UCHAR gender; } 然后我初始化之后调用这个C++的函数就报错 :尝试读取或写入受保护的内存.这通常指示其他内存已损坏.下面是
C#
的方法调用: demo = makeCard_N(handle, userPwd...
c++中NEW
运算符的用法
答:
1、newint:开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)。2、newint(
100
):开辟一个存放整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址。3、
newchar[
10]:开辟一个存放字符数组(包括10个元素)的空间,返回首元素的地址。5、newint[5][4]:...
大家正在搜
给结构体中的char数组赋值
c结构体赋值给结构体
c语言结构体的调用
结构体里面的数据比较char型
c语言函数调用结构体
结构体定义char
怎么给结构体赋值
结构体转换成char数组
结构体内char数组内存泄漏
相关问题
C#调用C++的dll库怎么传递结构体中不定长度的char数...
c++中给结构体分配动态内存的问题……用new吗 怎么用?
C#如何调用C++DLL中参数有结构体数组指针的函数?
C++的这个结构体在C#中怎么表示?
C#调用C++DLL接口时,C++接口需要的参数是结构体数组...
关于c#调用c++的结构体指针的问题
c++中结构体中的char型数组可以用gets函数吗?
c# 平台调用 c++函数中参数含有自己定义的结构体 如何调...