当前位置:编程学习 > C#/ASP.NET >>

************************关于c#和c++传递数据的问题请教***********************

我c++里的一个数组
char s[10];
分别是这样的
2
0
2
0
1
0

我将他传递给c#

c#是这样接受的

System.IntPtr pData = Marshal.AllocHGlobal(10);

            int bRet = Execute(iCompanyID, (char)eExecuteType.ExecuteData, sDBName, sSql, pData);

            int offset = pData.ToInt32();

            offset += 4;

            string sRet = Marshal.PtrToStringAuto(Marshal.ReadIntPtr(new IntPtr(offset)));

            iRet = Convert.ToInt32(sRet);

            Marshal.FreeHGlobal(pData);


我想要得到1

可是每次都是得到0

是怎么回事啊 --------------------编程问答-------------------- 没做过,只能顶啊 --------------------编程问答-------------------- 谢谢帮顶 --------------------编程问答-------------------- 我用Marshal.ReadInt16(pData , 4)
却可以读出来是49

刚好是字符串'1'

忘记说了

前面的两个2都是数字2 --------------------编程问答-------------------- 顶
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,