Send C++ string to C# string. Interop

后端 未结 3 835
眼角桃花
眼角桃花 2021-02-06 18:36

I am new to inter process communication and need some help. I want to be able to send a string from a C++ program to a C# program. My problem is that the resultant string is g

相关标签:
3条回答
  • 2021-02-06 19:29

    char* in C++ is ANSI character string (usually one byte per character), char* in C# is Unicode character string (like WCHAR* - two bytes per character).

    You in fact reinterpret_cast from char* to WCHAR*. This won't work. Use MultiByteToWideChar() on C++ side to convert.

    0 讨论(0)
  • 2021-02-06 19:31

    You'll have to convert your character array from ASCII to Unicode somehow. Here is a page that may help do it from the C# side.

    0 讨论(0)
  • 2021-02-06 19:33

    Your string in C++ is ANSI. You need to convert to Unicode somewhere for C#. It's been a couple of years since I did interop, so someone else will have to tell you exactly how to do that.

    0 讨论(0)
提交回复
热议问题