托管-非托管类型转换问题

ffb 2004-08-10 04:57:08
char[] cmddata=CmdData.ToString().ToCharArray();
char *head=(char *)cmddata;

error: 无法将类型“char[]”转换为“char*”


对于一个已经分配并按照一个struct赋值的内存,C++可以用指针直接按照struct的结构取得其数据,C#怎么实现?
...全文
332 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqchen79 2004-08-11
  • 打赏
  • 举报
回复
用unsafe加fixed语法可以取得struct的一个指针。
另外,如果不使用unsafe语法,用Marshal.PtrToStructure也应该可以,不过需要Copy内存两次,效率不如C++好。
HenryXiaoY 2004-08-11
  • 打赏
  • 举报
回复
up
dreamchild 2004-08-11
  • 打赏
  • 举报
回复
楼主的处理方法好像不对了。
StringBuilder a=new StringBuilder("abcdefg");
a[1]='a';
Console.Write(a.ToString());

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧