C#调用C++的dll时汉字出现乱码问题。。。。。

用C++调用dll的代码如下所示:#include"stdafx.h"#include<stdio.h>/*系统头文件*/#include<string.h>/*系统头文... 用C++调用dll的代码如下所示:
#include "stdafx.h"
#include <stdio.h> /*系统头文件*/
#include <string.h> /*系统头文件*/
#include <stdio.h>
#include <wtypes.h>

int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hDLL;

hDLL = LoadLibrary("invoiceprint.dll");

typedef int (__stdcall * MYAPP1)(char *,char *,char *,char *,char *);

MYAPP1 t2 ;

char *s1 = "IC卡号";
char *s2 = "客户名称";
char *s3 = "收费日期";
char *head = new char[100];
char *detail = new char[300];

t2=(MYAPP1)GetProcAddress(hDLL, "getInvoice");

int r2= t2(s1,s2,s3,head,detail);

std::cout<<"单据表头:"<< head<<std::endl;
std::cout<<"单据明细数:"<< r2<<std::endl;
std::cout<<"单据明细:"<< detail<<std::endl;
return 0;

请高手帮忙写成C#的代码。。。。。小弟感激不尽。。。。。。。
是控制台来的
C#代码如下所示,运行后出现的是乱码……
请高手们指点一下,或者给个正确的C#代码我。(试过了Unicode和Ansi都不行)
using System.Runtime.InteropServices;
[DllImport("invoiceprint.dll" ,ExactSpelling = false, CharSet = CharSet.Unicode)]
private unsafe static extern int getInvoice(string str1,string str2,string str3,byte* head,byte* detail);
unsafe static int Main(string[] args)
{
string str1 ="IC卡号";
string str2 ="客户名称";
string str3 ="收费日期";
byte* head = stackalloc byte[100];
byte* detail = stackalloc byte[300];
int r=getInvoice(str1, str2, str3,head,detail);
Console.WriteLine("明细表数为:{0}",r);
Console.Write("单据表头为:");
for (int i = 0; i < 100; i++)
{
Console.Write("{0}", head[i]);
}
Console.ReadLine();
return 0;
不行阿,dll是第三方提供的,还有其他办法吗
展开
 我来答
Kid_Wang
2009-09-25 · TA获得超过251个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:90.5万
展开全部
乱码是啥形式的,比如在Unicode情况下,女对应PE.也叫变成乱码了,但是其实是解码方式不同,C++默认开发如果是用VS,那么就是GB2312的,你试一试C#。
太平洋科技
优质机构答主

2021-04-08 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
太平洋科技
太平洋电脑网通过分析、评测生活及工作中各类消费品,让消费者客观了解产品性能及安全状况,帮助用户做出理性购买选择。同时科普各领域产品知识,解答用户选购及使用中所遇问题。
向TA提问
展开全部

解压文件出现中文乱码怎么办解决办法

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangdw2006
2009-09-25 · TA获得超过1614个赞
知道大有可为答主
回答量:2521
采纳率:0%
帮助的人:1853万
展开全部
你dll能用unicode重新编译么,然后c#也配上unicode应该就统一了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式