Jak w Visual C++ zrobić, żeby w programie wyświetlały się prawidłowo polskie znaki?
To żeś pojechał. W konsoli ?
http://komputery.katalogi.pl/Kompilator-t62603.html
Jednak to bardziej niemożliwe :/
dzięki, widziałem ten temat, ale nie zajrzałem na 2 strone :D
I tam jest złe rozwiązanie, bo miesza w systemie zamiast w samym tylko programie.
Trzeba dać:
setlocale(LC_ALL,"");
i to wystarczy.
Witam próbowałem skorzystać z tego co zaproponował Azarien ale dalej mam szlaczki... Domyśliłem się, że trzeba dodać bibliotekę <clocale> ale czy nie trzeba wpisać coś jeszcze? Proszę o pomoc :)
setlocale(LC_ALL,"polish");
Zdaje się, że trzeba jeszcze zadbać o to, by literały w kodzie źródłowym miały odpowiednie kodowanie. Pliki kodu źródłowego musisz mieć albo w Windows-1250 albo w ISO-8859-2, nie wiem które. Pewności nie mam, ale spróbowałbym zmienić to kodowanie (jeśli w ogóle chcesz wyświetlać literały czyli wszelkie "jakistamtekst"
które masz w kodzie).
Visual domyślnie otwiera i zapisuje pliki w kodowaniu systemowym (1250 dla PL). Jeśli umyślnie się tego nie zepsuło, to kodowanie nie jest problemem.
Niestety ja operuję na code::blocks. Dzięki za odpowiedź ale znalazłem jakiś inny choć mocno pokręcony sposób bo mi coś to locale dziwnie działało...
No ale w sumie grunt żeby to działało :)
Pod windows'ami najlepiej działa:
SetConsoleOutputCP(1250); // do wyświetlenia
SetConsoleCP(1250); // do wprowadzenia
setlocale(LC_ALL,"polish"); oraz setlocale(LC_ALL,""); // nie zawsze działa dobrze
Eustachy_123 napisał(a):
Niestety ja operuję na code::blocks. Dzięki za odpowiedź ale znalazłem jakiś inny choć mocno pokręcony sposób bo mi coś to locale dziwnie działało...
No ale w sumie grunt żeby to działało :)
Najprawdopodobniej postąpiłeś źle. Trzeba drążyć temat i dojść do prawidłowego rozwiązania. Co znaczy dziwnie działała? Raz były polskie, a raz nie? Nic dziwnego, po prostu nie zastosowałeś się do wszystkich rad.
Teksty mogą pochodzić z różnych źródeł - literały w kodzie, string'i pobrane cin'em/scanf'em, pliki i inne dane "zewnętrzne". Stąd pojawiły się pewnie różnice.
Nie ma czegoś takiego, że coś działa dziwnie, albo nie zawsze. Działa dokładnie tak, jak my tym sterujemy.
Tu przekazałem rozwiązanie dla Visual Studio 2010 u mnie się sprawdza ;) Także tips do stringów by sprawdzić czy litery wraz z polskimi.
http://4programmers.net/Forum/Newbie/190438-sposob_na_wyswietlanie_polskich_znakow_diakrytycznych_w_programach_konsolowych