标题:求助,又遇到了中文乱码
只看楼主
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
结帖率:97.22%
已结贴  问题点数:20 回复次数:4 
求助,又遇到了中文乱码
求助,又遇到了中文乱码
如果,不理解原因,只是“照猫画虎”修改一下代码。
下次,还会遇到了中文乱码。。。
程序代码:
#include <iostream>

using namespace std;
using namespace System;
using namespace System::IO;


void readfile(String^ filepath)
{
    StreamReader^ sr = File::OpenText(filepath);
     String^ s = "";
     while (s = sr->ReadLine())
          Console::WriteLine(s);
}

int main()
{
    String^ file1 = "c:\\Users\\Administrator\\Desktop\\A.txt";
    String^ file2 = "c:\\Users\\Administrator\\Desktop\\B.txt";

    readfile(file1);
    Console::WriteLine("\n\n");
    readfile(file2);
}




A.txt (78 Bytes)

B.txt (154 Bytes)
搜索更多相关主题的帖子: String 中文 namespace using 乱码 
2022-09-09 01:35
zzz3265
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:10
注 册:2022-2-6
得分:10 
实际上没有严格的代码可以判断数据的实际编码
如果有BOM头会比较好判断
如果没有, 只能各个编码尝试检查
简单的检查可以用 MultiByteToWideChar 使用参数MB_ERR_INVALID_CHARS
复杂的可以用对词语组合, 语义等分析
2022-09-11 11:58
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 2楼 zzz3265
MultiByteToWideChar
这是个现成的函数吗???

使用哪个库。。。
在哪个命名空间中。。。。
2022-09-11 18:12
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
MultiByteToWideChar是Windows API
2022-09-11 18:23
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 4楼 吹水佬
#include<windows.h>
2022-09-11 21:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509979-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.456892 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved