首页 > 编程语言 > 详细

C#将String传入C++的char*

时间:2018-04-30 13:56:38      阅读:275      评论:0      收藏:0      [点我收藏+]

  C++的函数参数列表中包含一个char*的输出型参数,然而在C#调用该dll时候,会自动将函数的中的char*参数“翻译”为sbyte*, 使用了各种方法都不能调用函数,主要是不能合适的转换为sbyte*。

 

1、【项目】->【属性】->【生成】->勾选 【允许不安全代码】

2、引入头文件 using System.Runtime.InteropServices;

3、

string videoName = "ComplexBkg1.avi";
unsafe {
IntPtr intPtrStr = (IntPtr)Marshal.StringToHGlobalAnsi(videoName);
sbyte* sbyteStr = (sbyte*)intPtrStr;
temp.fishTracking(sbyteStr);
}

C#将String传入C++的char*

原文:https://www.cnblogs.com/Peit/p/8973371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!