C# 调用 C dll char*

原创 2013年12月05日 15:41:17

C# 调用C 写的dll 里面有char * 之前一直是用string,可是这个函数怎么也不好用了,别人告诉我用intptr,好用了,虽然我也不知道为什么。给大家看看吧,也许也能用的着。

CP5200API int  CALLING_CONVCP5200_RS232_InitEx(const char *fName, int nBaudrate, DWORDdwTimeout);

声明为

 [DllImport("CP5200.dll", CharSet =CharSet.Auto)]
       public static extern int CP5200_RS232_InitEx(IntPtr fName, intnBaudrate, int dwTimeout);
 

调用:

int nRet = 0;
 

          string strPort;
               strPort = "COM" + m_nPort.ToString();
               nRet =CP5200.CP5200_RS232_InitEx(Marshal.StringToHGlobalAnsi(strPort),m_nBaudrate, m_nTimeout);

char* 转换成String 用:Marshal.PtrToStringAnsi

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c#调用c++写成的dll文件,返回char*,返回数组,用ref接收,byte[] (zz)

/ Inclusion guard #ifndef _DLLTUT_DLL_H_ #define _DLLTUT_DLL_H_ // Make our life easier, if DLL...

c#调用c++写成的dll文件,返回char*,返回数组,用ref接收,byte[] (zz)

c#调用c++写成的dll文件,返回char*,返回数组,用ref接收,byte[] ,最近做个项目,又想不起来了。这下Mark一下 / Inclusion guard #ifndef _...

C#调用C++的Dll(参数和返回值為char* TCHAR*)

想要在C#和C++之间进行字符串传递会涉及到两件事情: 1.C#的string和C++的字符串首指针要怎么对应.   2.字符串分为ANSI和UNICODE. C++ 头文件接口: //Fil...

C#调用C/C++ 动态链接库DLL(三)

2。 在C#中创建DLL接口的声明 C#没有全局函数,必须使用静态函数实现全局函数。 1)  DllImport类似C++中的__declspec(dllimport),第一个参数为必选参数,为D...
  • Nocky
  • Nocky
  • 2012-06-24 15:24
  • 15594

C#调用C/C++的dll须知

1. C#类型与C/C++类型的对应关系 基本数据类型(C# C/C++) System.Int32,int int, long System.Int64,int64 long ...

C#调用C(C++)dll,针对结构体的微软小工具

相信大家在用C#调用C(C++)dll时会被数据封送搞的晕天转地……下面列举一下头大的事,

C#调用C/C++ dll

本文通过实例代码说明如何在托管的C#代码中调用非托管的Win32 API或者自己用C/C++写的Dll中的函数,以及如何传递输入、输出字符串参数,结构类型参数等问题。   Win32 C/C++ ...

C#调用C/C++ 动态链接库DLL(二)

此次示例包含了常用类型参数的转换及传递包括 1) 基本类型:int, unsigned char, float, double等 2) 指针类型; 3) 引用 4) 一维数组、二维数组 5)...
  • Nocky
  • Nocky
  • 2012-06-24 15:02
  • 4366

C#调用带结构体指针的C Dll的方法

在C#中调用C(C++)类的DLL的时候

C#调用C/C++ dll文件 的简单示例

测试环境:VS2010 windows7 1.文件->新建项目,选择win32 控制台程序,输入项目名称dll_test,然后点击确定 2. 3.点击下一步 4.选...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)