永发信息网

为什么用CFile::Read()读出中文都是乱码?

答案:4  悬赏:40  手机版
解决时间 2021-12-02 12:10
为什么用CFile::Read()读出中文都是乱码?
最佳答案
1.设置字符集,读取的时候好处理中文
2.可能对于空格等自动截取了
3.一个是UNICODE字符串,一个是ANSI字符串,两者之间需要编码转换
------解决方案--------------------------------------------------------
C/C++ codeCFile file(L"c:\\test.txt",CFile::modeRead);
char *pBuf;
int iLen=file.GetLength();
pBuf=new char[iLen+1];
file.Read(pBuf,iLen);
pBuf[iLen]=0;
CString str1(pBuf); //CString str1=CA2W(pBuf,CP_UTF8); //Utf8格式文件用此方法
delete[] pBuf;
file.Close();
MessageBox(str1);
全部回答
没弄好吧,把程序贴出来才能找到原因所在
你这么问叫人怎么回答?人家MFC有没有问题,只能是你自己的错。看看是不是编码的问题(宽字节,多字节)。把程序贴出来再说。
CFile f;
CString s;
f.Open(_T("my.txt"), CFile::modeRead,NULL);
char* lpBuf = new char[5];
memset(lpBuf,0,5);
f.Read(lpBuf,5);
s = lpBuf;
MessageBox(s);
delete lpBuf;
f.Close();
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题甲午战争后的19世纪末,外国对华资本输
这是什么米虫
爸爸的英语怎么读爸爸的英语怎么读啊不知道
芸草集缩阴好吗用芸草集可以增加夫妻感情吗效
emi滤波的原理
人吃了山稔芯会怎样?
智仁蜂蜜智仁黑蜂雪蜜质量如何?
听证会中公信力代表发言稿
晚清值多少钱
把0,1,2,3,4,5,6,7,8,9填在下面空格里,每个只
马上要去西安云居寺10日禅修了,听报名点的师
佛家说的贪,口真cen(1),痴,怎么解.特别
dnf 元素PK装备 项链选什么号 我有3种选择 王
国内三相交直流标准源哪家做的好?
如何控制在人多的场合脸上表情紧张,呆滞
推荐资讯
小学生普法绘画怎么画
日本央行实现通胀2%目标需要多久时间段【AETO
船舶之间若未发生碰撞沉没是否可认为是自沉
硬脂酸,acr,稳定剂,硬脂酸钙,pe腊,单甘
新出的红米6a手机怎么样
电线杆稍经的算法电线杆的稍经 从上往下是怎
如何在用友软件里面录入固定资产卡片后生成凭
项链上刻有LiYin是什么意思啊
河北邯郸鸡泽县毛遂公园好玩吗,河北鸡泽
女生暗恋你,一定会有这三个表现,你还在傻傻
形容风浪很大声音很响的成语是什么
E店宝2.0怎样导出订单商品明细
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?