Jak w Visual C++ zrobić, żeby w programie wyświetlały się prawidłowo polskie znaki?
Wyświetlanie znaków diakrytycznych w programie
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
- Postów: 13042
To żeś pojechał. W konsoli ?
http://komputery.katalogi.pl/Kompilator-t62603.html
Jednak to bardziej niemożliwe :/
- Rejestracja: dni
- Ostatnio: dni
- Postów: 20
dzięki, widziałem ten temat, ale nie zajrzałem na 2 strone :D
- Rejestracja: dni
- Ostatnio: dni
I tam jest złe rozwiązanie, bo miesza w systemie zamiast w samym tylko programie.
Trzeba dać:
setlocale(LC_ALL,"");
i to wystarczy.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10
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 :)
- Rejestracja: dni
- Ostatnio: dni
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).
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10
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 :)
- Rejestracja: dni
- Ostatnio: dni
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
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Poznań
- Postów: 39
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.
Sposób na wyświetlanie polskich znaków diakrytycznych w programach konsolowych