簡體   English   中英

編寫特殊字符以在OSX上的C ++中進行控制台

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM