首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

哪位高手学过C/C++,小弟我问个C#的char类型的有关问题

2013-02-06 
谁学过C/C++,我问个C#的char类型的问题C#书上说一个char类型是Unicode字符,占两个字节。然后我声明了下面一

谁学过C/C++,我问个C#的char类型的问题
C#书上说一个char类型是Unicode字符,占两个字节。然后我声明了下面一个数组
char[] sou = { '飞', '2', '3', '\0' };

之后在VC中创建一个DLL,这个DLL必须用 char* 接收上面的字符串才能正确用MessageBoxA输出,如果用wchar_t*接收在用MessageBoxW输出就是乱码

C#的string类型也是一样的现象

哪位高手学过C/C++,小弟我问个C#的char类型的有关问题
[解决办法]
.Net里面的char和c++里面的char是不一样的。看来你是需要做转换才可以正常显示的。
[解决办法]
  [DllImport("user32.dll", CharSet=CharSet.Auto)]
    static extern int MessageBox(IntPtr hWnd, String text, String caption, int options);
[解决办法]
Marshal.StringToHGlobalAnsi(string)
返回的IntPrt就是一个能被MessageBoxA接受的char*

热点排行