我在这里问了一个涉及C ++和C#通信的问题。问题得到解决,但导致了新问题。
这将返回一个字符串(C#)
return Marshal.PtrToStringAnsi(decryptsn(InpData));
Run Code Online (Sandbox Code Playgroud)
这需要一个TCHAR *(C ++)
lpAlpha2[0] = Company::Pins::Bank::Decryption::Decrypt::Decryption("123456");
Run Code Online (Sandbox Code Playgroud)
我已经用谷歌搜索了如何解决这个问题,但是我不确定为什么字符串上有一个胡萝卜(^)。最好将String的返回值更改为C ++可以接受的其他值吗?还是我需要在分配值之前进行转换?