2014-03-26 79 views
1

我遇到問題,用C++在我的命令行(osx)上打印日語字符。C++日語字符命令行輸出

我會很高興看到任何字符在我的命令行上正確打印,但我沒有得到我的問題是什麼。沒有什麼是打印的,甚至沒有錯誤的字符也沒有發生任何錯誤。我的角色只是被吞噬了。我在這裏做錯了什麼?

#include <string> 
#include <clocale> 
#include<iostream> 

int main(int argc, char** args){ 

    std::setlocale(LC_ALL,""); 
    wchar_t c=L'あ'; 
    std::wcout<<c; 

    std::wstring s = L"あ"; 
    std::wcout<<s; 

    return 0; 
} 

回答

2

你可能不需要行:

這是用於諸如日期和時間格式
std::setlocale(LC_ALL, ""); 

而是用適當初始化的locale對象填充輸出流。

std::wcout.imbue(std::locale("ja_jp.utf-8"));