问题描述
- 需要unity从ios获取一个长度未知的std::string
代码实例
- unity端写两个函数,获取长度和获取字符串的
[DllImport ("__Internal")]
private static extern int getDsptLength();
[DllImport ("__Internal")]
private static extern void getDspt(ref byte dspt,int length);
- ios端实现两个函数
int getDsptLength()
{
return string.length;
}
void getDspt(char* dspt,int length)
{
const char* s=string.c_str();
char attr[length];
memset(attr, 0, sizeof(attr));
memcpy(attr, s, sizeof(char)*length);
memcpy(dspt,attr,sizeof(attr));
}
- 重点:unity端需要用到ref byte,对应到ios的extern "C"里面是char*