概述
c++ char * 转换c# 一般直接string 或者Marshal.StringToHGlobalAnsi(“string”)为IntPtr 即可。
但是如果string包含中文,c++收到中文是乱码。
解决办法:把string转为byte[] 再放到内存指针即可。
byte[] encodedBytes=Encoding.UTF8.GetBytes("string");
IntPtr wordPtr = Marshal.AllocHGlobal(encodedBytes.Length);
Marshal.Copy(encodedBytes, 0, wordPtr, encodedBytes.Length);
最后将wordPtr传给c++即可。
最后
以上就是大气黑裤为你收集整理的c# 传中文字符给c++ 出现乱码问题的全部内容,希望文章能够帮你解决c# 传中文字符给c++ 出现乱码问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复