[英]Writting special characters to console in C++ on OSX
我已经用C ++编写了一个程序来查询音乐相关的元数据。 但是,在将结果写到控制台时,我意识到有些艺术家的名字中有特殊字符,UTF-8是特定的。 到目前为止,我已经学会了按特殊字符代码显示特殊字符,如下所示:
cout << "\u0394" << "\n";
上面的代码根据http://www.utf8-chartable.de/应该显示“Δ”,但是相反,它显示“Œ”,我相信这与控制台的编码有关。
我对此问题进行了一些研究,并遇到了一个示例程序,该程序应该使我的问题僵化,相反,我遇到了我似乎无法解决的以下错误。
#include <io.h>
#include <fcntl.h>
#include <iostream>
int main()
{
_setmode (_fileno(stdout), _O_U8TEXT);
wcout << L"AaĄąfl" << endl;
return 0;
}
../main.cpp:1:16: warning: io.h: No such file or directory
../main.cpp: In function 'int main()':
../main.cpp:7: error: '_fileno' was not declared in this scope
../main.cpp:7: error: '_O_U8TEXT' was not declared in this scope
../main.cpp:7: error: '_setmode' was not declared in this scope
../main.cpp:8: error: 'wcout' was not declared in this scope
../main.cpp:8: error: 'endl' was not declared in this scope
make: *** [main.o] Error 1
我知道那里有很多信息,但我认为我已经做了足够的研究以保证可以在此处发布。 我认为我无法解决此问题的原因之一是因为我在此主题上阅读的所有信息都不适用于MacOSX。 我也在使用Eclipse Kepler。
非常感谢您提供有关如何使我的示例程序正常运行或正确显示到控制台的任何信息。
谢谢
感谢@sbugert ...
如何在Eclipse Kepler中更改控制台的编码:
运行>运行配置
导航到当前项目
进入“常用”标签
请参阅“编码”部分
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.