c++ - C++ 通过 ifsteam 或 cin 读取重音字符
问题描述
所以我是 C++ 的初学者,我想以某种方式获得带有重音字符的文本。我已经阅读了文档和其他问题,但没有一个对我有用。我真的不明白。这是文件和输出。
文本文件:
abc
def
árvíztűrő tükörfúrógép
控制台输出:
abc
def
árvĂztĹ+rĹ' tĂĽkörfĂşrĂłgĂcp
有人请帮助我,我怎样才能在控制台上获得与文件中相同的文本?有人可以向我解释一下,这是怎么回事?(即SetLocale()和.imbue()是什么)谢谢您的帮助!
代码:
#include <iostream>
#include <fstream>
#include <string>
#include <locale>
int main()
{
setlocale(LC_ALL, "");
std::string txt;
std::ifstream fstream;
fstream.open("C:\\Dev\\alma.txt");
fstream.imbue(std::locale(""));
while (getline(fstream, txt))
{
std::cout << txt << "\n";
}
std::cout << "\n";
fstream.close();
}
解决方案
推荐阅读
- android - 从外部文件目录获取图片
- terraform - 跨地形计划和模块的变量?
- javascript - 数组作为字符串返回
- javascript - WebExtension:收集当前页面所有 iframe 的信息
- vba - VBA - 绕过 Application.evaluate 限制
- android - 使用 Okhttp 连接 web 服务失败
- node.js - Linkedin - 预览图像不显示
- c# - SQL 选择具有多个整数值的行
- ocr - Nativescript : 带有 nativescript-ocr 的相机照片资源
- python-3.x - Python字符串到日期时间日期