Polskie znaki

0

Witam, na zajęciach (w Code::Blocks) pokazano mi, jak zrobić polskie znaki:

#include <cstdio>
#include <windows.h>
#include <clocale>

int main()
{
    SetConsoleCP(1250);
    SetConsoleOutputCP(1250);
    setlocale(LC_ALL, "1250");

    printf ("Zażółć gęślą jaźń");

    return 0;
}

Tam wszystko działało, a teraz kiedy to wpisuję, to już nie działa - dlaczego?

0

Opcja szukaj na forum przestala chyba ostatnio dzialac...

http://4programmers.net/Forum/C_i_C++/196749-problem_z_kodowaniem_polskich_znakw

0

setlocale(LC_ALL, "1250");

Tam powinna być kropka .1250.

setlocale(LC_ALL, ".1250");

Poza tym nie lubię LC_ALL, bo robi trochę więcej niż tylko polskie litery — zmienia też formatowanie daty, godziny i liczb, sortowanie itp.
Dlatego raczej używam LC_CTYPE:

setlocale(LC_CTYPE, ".1250");

A i jeszcze jedno. To działa w Visualu bez problemu. W MinGW (a pod code::blocks używasz pewnie kompilatora mingw) czasami, na niektórych kompach, nie chce zadziałać i już. Po prostu nie działa. Nie wiem dlaczego.

0
banja napisał(a)

Wybacz, chodziło mi o ten konkretny sposób i przypadek.

#include <cstdio>
#include <clocale>

int main()
{
    setlocale(LC_ALL, "Polish");
    printf ("Zażółć gęślą jaźń");
    return 0;
}

Wystarczylo zajrzec do tematu i skopiowac 1 linijke. Dziala niezaleznie od kompilatora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1