日期:2014-05-19  浏览次数:20754 次

关于C++方法参数与C#参数类型
C++写的接口中的参数类型是char*,但是在C#中调用时,参数类型变为sbyte*,这是什么原因呢?      
如果想使C#中调用时,参数类型为string,那么C++里面的参数类型应该是什么呢?


是有什么对应关系吗?

------解决方案--------------------
char 是单字节的,有符号
Sbyte 也是单字节的,有符号

。NET里的类型比如Byte 是单字节无符号,Char是双字接的```
------解决方案--------------------
C++里的字符串类型
Char* 或者CString
在C#里调用都可以是String(UniCode)
但要注意字符编码
------解决方案--------------------
char 是单字节的,有符号
Sbyte 也是单字节的,有符号
C#和非托管C++的基元类型不同
------解决方案--------------------
char *或者CString
------解决方案--------------------
把sbyte*改成String试试