如何在 C++ 中获取、存储和打印非英语字符串
Posted
技术标签:
【中文标题】如何在 C++ 中获取、存储和打印非英语字符串【英文标题】:How to get, store and print non-English strings in C++ 【发布时间】:2019-03-22 05:42:35 【问题描述】:如何读取包含非英文字符串的 txt 文件?得到字符串后我会将它存储在一个链表中,所以它应该也适合存储在一个节点中,然后打印它。
当我尝试从下面的 .txt 文件代码中获取字符串“türkçe”时,它会给出以下输出:
输出:tⁿrkτe
**word.txt**
türkçe
<string>
<iostream>
<fstream>
int main()
fstream inputFile;
inputFile.open(word.txt);
string line;
getline(inputFile,line);
cout << line << endl;
return 0;
【问题讨论】:
您的问题是您的控制台的编码与您正在阅读的文件的编码不同,而不是您无法将文件的内容存储在字符串中。 How can I print non English characters taken from a text file in c++?的可能重复 【参考方案1】:问题的解决方法:
#include <string>
#include <iostream>
#include <fstream>
#include <locale.h>
using namespace std;
int main()
setlocale(LC_ALL, "turkish");
fstream inputFile;
inputFile.open("word.txt");
string line;
getline(inputFile,line);
cout << line << endl;
return 0;
【讨论】:
以上是关于如何在 C++ 中获取、存储和打印非英语字符串的主要内容,如果未能解决你的问题,请参考以下文章