如何使用C ++中的文件和标准输入读写Unicode-32字符?

时间:2016-10-05 18:53:18

标签: c++ unicode

我想创建一个程序,它是C ++中希腊单词的字典,我正在使用CodeBlocks。问题是我无法弄清楚如何在控制台和文件中读取和写入非ASCII字符。我尝试过在网上找到的各种方法,比如使用wchar_t,char32_t等等,但是没有一种方法适合我。

wchar_t c;
wcin>>c;
wcout<<c<<"\n";

以上代码适用于“简单”的希腊字母,例如'α'。它不适用于像'ᾧ'这样的多音字母。具体来说,每当我输入时,多声道希腊字母就会在控制台中显示为问号。

wchar_t c;
wifstream wfin("test_unicode.txt");
wfin>>c;
wcout<<c<<"\n";

以上代码不适用于任何输入,甚至是拉丁字符。输出始终为空白。

wchar_t c = 'α';
wcout<<c<<"\n";

此外,我还无法在程序中使用希腊字母初始化wchar_t或wstring变量,上面的代码在我的屏幕上不打印任何内容。

请帮忙!

0 个答案:

没有答案