C#调用dll,字符串参数传过去只有一个字符

来源:互联网 发布:vb获得焦点 编辑:程序博客网 时间:2024/06/03 06:00

环境:VS2010,应用程序用C#编写,DLL用C++编写

问题:C#调用dll,传的字符串参数到C++里面调试发现只传了一个字符

原因:

原来调用dll的写法是下面这样的

[DllImport("EcComm.dll", EntryPoint = "EC_OpenPort", CharSet = CharSet.Auto)]

实际上应该写成

[DllImport("EcComm.dll", EntryPoint = "EC_OpenPort", CharSet = CharSet.Ansi)]

0 0