Polskie ogonki

0

Witam
Jest to mój pierwszy temat, programowania zaczynam się uczyć od C. To z czego korzystam:
IDE: Code::BLOCKS 16.01
Kompilator: GCC 4.9 Series
Problem z jakim się borykam to polskie ogonki.
Korzystam z system("chcp 65001"); i edytor również jest UTF-8.
Jeśli kompiluje tak jak poniżej to z polskimi znakami nie ma problemu.
mingw32-gcc.exe -Wall -g -Wimplicit-function-declaration -c "C:\Users\bq666\Desktop\C projekty\00 C\JCPDP\JCPDP 1\main.c" -o obj\Debug\main.o
mingw32-g++.exe -o "bin\Debug\JCPDP 1.exe" obj\Debug\czescb.o obj\Debug\czescc.o obj\Debug\hotel.o obj\Debug\JCPDP.o obj\Debug\JCPDP_1.o obj\Debug\JCSP.o obj\Debug\main.o obj\Debug\Wskazniki.o obj\Debug\Zmienne.o

Natomiast jeśli skompiluje z opcją -std=c99 wyświetla mi "krzaki".
mingw32-gcc.exe -Wall -std=c99 -g -Wimplicit-function-declaration -c "C:\Users\bq666\Desktop\C projekty\00 C\JCPDP\JCPDP 1\main.c" -o obj\Debug\main.o
mingw32-g++.exe -o "bin\Debug\JCPDP 1.exe" obj\Debug\czescb.o obj\Debug\czescc.o obj\Debug\hotel.o obj\Debug\JCPDP.o obj\Debug\JCPDP_1.o obj\Debug\JCSP.o obj\Debug\main.o obj\Debug\Wskazniki.o obj\Debug\Zmienne.o

Wybaczcie jeśli pytanie jest źle skonstruowane, lub nie do końca jasne.
Krótko, czy jest możliwość kompilowania zgodnie z C99 tak aby polskie znaki były wyświetlane w konsoli ?
Pozdrawiam

0

Nie znam odpowiedzi na pytanie (dlaczego std=c99 powoduje problem) ale UTF-8 pod Windows to w ogóle egzotyczne kodowanie. Użyj CP1250, czyli standardowego w polskiej wersji Windows.

0

Azarien: Dzięki za uwagę.
Ustawiłem edytor na WINDOWS-1250, chcp 1250 i teraz zarówno po kompilacji w ANSI jak i C99 są "krzaczki" z tym że teraz krzaki są inne w main() i inne w funkcji. printf("ĄĆŹŃąćź\n");
wygląda tak:
Active code page: 1250
ĄĆŹŃąćź <--- to jest printf z main()
ĄĆŹĹąćź <--- to jest printf z funkcji
ps.
Ta sama próba z ISO-8859-2 zarówno w ANSI i C99 wygląda tak:
Active code page: 28592
ÄÄĹšĹÄÄĹş
ÄÄĹšĹÄÄĹş

0

To system("chcp 1250"); u mnie nigdy nie działało, użyj wywołania:

setlocale(LC_CTYPE, ".1250");

Choć i to nie musi działać (chodzi o przełączenie strony kodowej konsoli), być może to zależy od implementacji.

0

Dzięki za nakierowanie :)
Natomiast nie mogę dołączyć tych nagłówków:
#include <cstdio>
#include <windows.h>
#include <clocale>

W katalogach są, edytor sam mi podpowiada końcówkę, więc je "widzi" natomiast w trakcie kompilacji "No such ..."
Czy ma znaczenie że pliki tworzyłem jako C a nie C++ ?

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