本人初学c++,差点学到指针,(电脑系统是win7,硬件太拉跑不动vs所以编译环境是vscode和g++5.2.0,运行后手动点开文件目录的.exe)想做个类猜盐猜百科的小游戏练手,第一步想做一个输出答案的功能,但不管是直接cout文本还是fstream读txt,显示在控制台上都是一串主要是拉丁字母的乱码,代码和文本的保存格式都是utf-8,能看懂的方法都试了一遍,实在没招了来求助了,求高人指点
代码:
#include <iostream>
#include <string>
#include <fstream>
#include <windows.h>
int main()
{
SetConsoleOutputCP(65001);
//下面是打开文件的代码,显示是乱码
std::ifstream inputFile;
std::string line;
while (std::getline(inputFile,line))
{
std::cout << line <<std::endl;
}
inputFile.close();
//下面是直接cout字符串的代码,显示也是乱码
// std::cout << "江苏省" << std::endl;
// std::cout << "江苏省(Jiangsu Province),简称“苏”,位于中国沿海地区中部,长江、淮河下游,省会南京市。土地面积10.72万平方千米,水域面积占全省面积的16.9%。截至2023年末,江苏省共有13个设区的市,95个县(市、区)。2024年末,江苏省常住人口8526万人。江苏省境内方言有江淮方言、吴方言、北方方言。江苏地形以平原为主,绝大部分地区在海拔50米以下;气候类型属于温带向亚热带的过渡性气候。早在35万年前,江苏地区就有古人类活动。东吴、东晋和南朝的宋、齐、梁、陈,先后在今南京建都立国。隋唐时期开凿大运河,江苏许多城镇因河而盛。两宋时期,江苏地区成为全国著名粮仓。清康熙六年(1667年),江苏始建省。1949年6月,江苏全境解放,设苏北行署区、苏南行署区及南京市3个省级行政区。1953年1月,3个省级行政区合并,恢复江苏省建制,省会设在南京。江苏省处于丝绸之路经济带和21世纪海上丝绸之路的交汇点,是国务院批复确定的支撑长江经济带发展、长三角一体化发展等国家区域重大战略实施的重要地区。江苏省实体经济强,城市群发达。截至2023年9月,江苏省全国文明城市总数和占比居全国第一;文化产业增加值连续多年稳居全国第二。截至2023年,江苏省共有五座城市地区生产总值破万亿。全省居民人均可支配收入位居全国第四。 2024年,江苏省地区生产总值137008.0亿元。 江苏是中国著名“水乡”,许多江南城市、集镇、村舍依河而建。水造就了“水乡江苏”“锦绣江南”的典型文化特征。" << std::endl;
system("pause");
return 0;
}
打开的文本(a.txt)里的内容:
江苏省(Jiangsu Province),简称“苏”,位于中国沿海地区中部,长江、淮河下游,省会南京市。
土地面积10.72万平方千米,水域面积占全省面积的16.9%。截至2023年末,江苏省共有13个设区的市,
95个县(市、区)。2024年末,江苏省常住人口8526万人。江苏省境内方言有江淮方言、吴方言、北方
方言。
江苏地形以平原为主,绝大部分地区在海拔50米以下;气候类型属于温带向亚热带的过渡性气候。早在
35万年前,江苏地区就有古人类活动。东吴、东晋和南朝的宋、齐、梁、陈,先后在今南京建都立国。
隋唐时期开凿大运河,江苏许多城镇因河而盛。两宋时期,江苏地区成为全国著名粮仓。清康熙六年
(1667年),江苏始建省。1949年6月,江苏全境解放,设苏北行署区、苏南行署区及南京市3个省级行
政区。1953年1月,3个省级行政区合并,恢复江苏省建制,省会设在南京。
江苏省处于丝绸之路经济带和21世纪海上丝绸之路的交汇点,是国务院批复确定的支撑长江经济带发展
、长三角一体化发展等国家区域重大战略实施的重要地区。江苏省实体经济强,城市群发达。截至2023
年9月,江苏省全国文明城市总数和占比居全国第一;文化产业增加值连续多年稳居全国第二。截至2023
年,江苏省共有五座城市地区生产总值破万亿。全省居民人均可支配收入位居全国第四。 2024年,江苏
省地区生产总值137008.0亿元。
江苏是中国著名“水乡”,许多江南城市、集镇、村舍依河而建。水造就了“水乡江苏”“锦绣江南”
的典型文化特征。