Artykuł prezentuje w jaki sposób wyświetlać unikodowe znaki w konsoli pod Windowsem z poziomu języka C++. (artykuł)
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!
dział serwisuArtykuły
kategoriaInne artykuły
artykuł[C++] Unikodowe znaki w konsoli (Windows)
Opracował: Piotr Szawdyński

[C++] Unikodowe znaki w konsoli (Windows)

[artykuł] Artykuł prezentuje w jaki sposób wyświetlać unikodowe znaki w konsoli pod Windowsem z poziomu języka C++.

Pierwiastek jako Unicode

http://www.fileformat.info/info/unicode/char/221a/index.htm

Przykład

C/C++
#include "windows.h"
#include <string>

const WCHAR PIERWIASTEK = 8730;

void writeUnicode( PCWSTR sText )
{
    int bufferSize = WideCharToMultiByte( CP_UTF8, 0, sText, - 1, NULL, 0, NULL, NULL );
    char * m = new char[ bufferSize ];
    WideCharToMultiByte( CP_UTF8, 0, sText, - 1, m, bufferSize, NULL, NULL );
    wprintf( L"%S", m );
    delete[] m;
}

void writeUnicode( WCHAR cChar )
{
    WCHAR sText[ 2 ] = { cChar };
    writeUnicode( sText );
}

int main()
{
   
    UINT oldcp =::GetConsoleOutputCP();
    ::SetConsoleOutputCP( CP_UTF8 );
   
    writeUnicode( L"Polskie znaki: ąćęłóńśźż\n" );
    writeUnicode( PIERWIASTEK );
   
    ::SetConsoleOutputCP( oldcp );
    return 0;
}
Standardowe wyjście programu:
Polskie znaki: ąćęłóńśźż