本文共 591 字,大约阅读时间需要 1 分钟。
c++中结构体的转换
对于原生c++,有如下结构体
struct Data{ std::string str; unsigned int ID; double Value; }
有一个函数bool GetData(Data* pData);
那么,c#如何调用该函数呢?一共两步
1、首先,我们要在托管c++中写一个与之对应的结构体OutputDataCS
public ref struct )DataCS { String^ str; ; unsigned int ID; Double Value; };
2、定义一个包装函数GetData_CS供C#调用
bool GetData_CS(DataCS^ cs){ Data temp;//定义一个结构体临时变量 bool result= GetData(&temp);//调用c++函数 //开始转换 cs->str=gcnew String(temp. str.c_str()) ; cs->Value=temp.Value ; return result;;}
如果是List列表,需要使用gcnew
转载地址:http://nviii.baihongyu.com/