1、出现乱码的原因
主要是因为文本文件的编码方式的问题。
2、解决方案
打开文本文件,选择另存为,编码选择为 ANSI ,即可解决。
具体如下图。(测试可行)
3、其他解决方案
网络转载,未经测试。
fstream本身就无法正常读取包含中文路径的文本(具体的解决方案就不细说了网上一堆)。这里主要讲一下getline读取到乱码的解决办法。
添加一个函数转换一下编码
std::string UTF8ToGB(const char* str)
{
std::string result;
WCHAR *strSrc;
LPSTR szRes;
//获得临时变量的大小
int i = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
strSrc = new WCHAR[i + 1];
M