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

C#调用C++DLL输出字符串,该怎么处理

2013-08-06 
C#调用C++DLL输出字符串现在我想调用C++写的win32DLL函数,输出字符串。DLL中的CPP函数:XXX_API void __stdc

C#调用C++DLL输出字符串
现在我想调用C++写的win32DLL函数,输出字符串。
DLL中的CPP函数:
XXX_API void __stdcall WriteString(wchar_t* content)
{
   std::cout<<content;
}

C#cs:
[DllImport(@"...XXX",EntryPoint = "WriteString")]
extern unsafe static void WriteString(char* c);
static void Main(string[] args)
{
   unsafe
  {
     fixed(char* p = &("hello".ToCharArray()[0]))
     {
       WriteString(p);
     }
   }
}

问题来了,固化字符串的内存地址后p的值是0X00BBA654,*p 值为 0x0067 ‘h’
但是在控制台输出的不是hello,而是00bba654,问题出在哪了,希望懂得帮帮忙。
谢谢。 C++ C#
[解决办法]
std::wcout 

热点排行