2013-04-26 3 views
2

'std :: wstring'클래스를 사용하여 폴란드어 문자를 출력하는 간단한 코드를 사용해 보았습니다. 클래스 wchar_t 배열에서 성공적으로 생성 된 있지만 그것을 화면에 출력하는 방법을 모르겠습니다. 그 줄 "이게 < < 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

더 이상 프로그램에 cout를 사용해서는 안 wcout 사용 후 : 아래는 내가 컴파일하려고 않은 간단한 코드입니다. 처음으로 cout 또는 wcout은 프로그램 기간 동안 stdout의 방향을 설정합니다.

+0

wcout을 사용하면 선언되지 않았으며 std :: wcout을 사용하면 wcout이 std의 멤버가 아니라고 표시됩니다. 나는 Dev-C++ v.4.9.9.2를 사용한다. – user1978386

+0

여기에서 가장 큰 대답을 보라. http://stackoverflow.com/questions/15581569/c-gives-an-error – Salgar

+0

@Salgar'std :: cout' 또는'std :: wcout'을 사용하면 stdout의 방향에 영향을주지 않아야하며 stdout의 방향은 'cout'과'wcout'와는 무관합니다 : C가 넓은 문자 출력과 좁은 문자 출력 모두에 대해 동일한'FILE' 객체를 사용한다는 사실 때문에 "방향"은 제한입니다. C++에는 자체 버퍼가있는 두 개의 서로 다른 객체가 있으며 단일 프로그램에서이 두 객체를 모두 사용할 수 있어야합니다. 물론 둘 다 같은 장치에 전송하기 때문에 플러시를 몇 개 삽입해야 할 수도 있습니다. 그러나 둘 다 출력 할 수 없으면 구현이 중단됩니다. –

관련 문제