2013-04-26 102 views
2

我已經嘗試這個簡單的代碼來使用「的std :: wstring的」類輸出潤色人物。該類是從wchar_t數組成功構建的,但我不知道如何將其輸出到屏幕。那行 「的cout < < X < < ENDL;」不編譯。是否有可能在本地C++編寫的控制檯應用程序中輸出波蘭語字符?如果是這樣,那麼如何解決這個問題?下面是一個簡單的代碼,我也嘗試編譯:如何在C++控制檯應用程序中輸出波蘭字符?

#include <iostream> 
#include <conio.h> 
#include <string> 

int main(void) 
{ 
    using namespace std ; 
    const wchar_t data[] = {'ą', 'ę', 'ć'} ; 
    wstring X(data) ; 
    cout << X << endl ; 
    getch() ; 
    return 0 ; 
} 

回答

2

使用std::wcout而不是cout

使用wcout你不應該再在程序中使用cout後。第一次你coutwcout它設置你的程序持續時間的標準輸出的方向。

+0

如果我用wcout那麼它說,它的未申報,如果我使用std :: wcout然後它說,wcout是不是性病的成員。我使用Dev-C++ v.4.9.9.2 – user1978386 2013-04-26 12:25:55

+0

請看這裏的最佳答案。 http://stackoverflow.com/questions/15581569/c-gives-an-error – Salgar 2013-04-26 12:33:10

+0

@Salgar使用'的std :: cout'或'的std :: wcout'不應影響標準輸出的方向,標準輸出的方向應與'cout'和'wcout'無關:這裏的「orientation」是一個限制,因爲C對寬字符和窄字符輸出使用相同的'FILE'對象。 C++有兩個不同的對象,每個對象都有自己的緩衝區,您應該可以在一個程序中使用這兩個對象。當然,因爲它們都發送到同一個設備,所以您可能需要插入一些沖洗。但是,如果你不能輸出到兩者,那麼執行就會中斷。 – 2013-04-26 12:44:58

相關問題