• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dziwne znaki po kompilacji programu C++ w konsoli

Object Storage Arubacloud
0 głosów
328 wizyt
pytanie zadane 30 lipca 2018 w C i C++ przez Mr.EndiX Początkujący (470 p.)

Takie znaki pokazują się w każdym miejscu w programie po skompilowaniu go w konsoli:

Podaj login: zyx   [enter]
Podaj hasło:

Fragment kodu z modułem logowania:

int main()
{
string haslo;
string login;
int x=0;
do
{
++x;
cout<<"Podaj login:";
cin>>login;
cout<<"Podaj hasło:";
cin>>haslo;
if (haslo=="xyz"&&login=="zyx")
{
system( "cls" );
cout<<"Dostęp przyznany\n";
cout<<"   \n";
Sleep(300);
system( "cls" );
cout<<trzon();
}
else if(haslo!="xyz"&&login!="zyx")
{
system ("clear");
cout<<"Dostęp nieprzyznany\n";              cout<<"To była twoja: "<<x<<" próba z (3)\n";
Sleep(300);
system( "cls" );
}
}
while(haslo!="xyz"&&login!="zyx"&&x<=2);
if (x==3)
system( "cls" );
cout<<"Nie poprawne hasło, odmowa dostępu\n";
Sleep(200);
system( "cls" );
}

 

3 odpowiedzi

0 głosów
odpowiedź 30 lipca 2018 przez j23 Mędrzec (194,920 p.)
wybrane 30 lipca 2018 przez Mr.EndiX
 
Najlepsza

Jak kompilujesz w MinGW, dodaj opcję -fexec-charset=cp852. Kody źródłowe zapisz w utf-8.

komentarz 30 lipca 2018 przez Mr.EndiX Początkujący (470 p.)
Niestety zapomniałem napisać że używam Code::blocks
komentarz 30 lipca 2018 przez j23 Mędrzec (194,920 p.)

C::B domyślnie używa MinGW (Opcje projektu -> Compiler settings -> Other options).

komentarz 30 lipca 2018 przez Mr.EndiX Początkujący (470 p.)
Dziękuje bardzo za pomoc, udało się. Czy mógłby Pan/i wyjaśnić dlaczego takie dziwne litery się wyświetlały?
komentarz 30 lipca 2018 przez j23 Mędrzec (194,920 p.)
MinGW/C::B domyślnie używa systemowej strony kodowej do kodowania literałów. W "polskim" Windowsie jest to 1250. Z kolei konsola jest, ze względów historycznych, w kodowaniu 852. Stąd te problemy z wyświetlaniem liter diakrytycznych. Flaga, o której pisałem, wymusza na kompilatorze kodowanie literałów w kodowaniu konsoli i dlatego wszystko się ładnie wyświetla.
0 głosów
odpowiedź 30 lipca 2018 przez Jackob Obywatel (1,430 p.)
Masz napewno dobre kodowanie w konsoli i w edytorze. Jeżeli będzie inne to może się coś takiego dziać.
komentarz 30 lipca 2018 przez Mr.EndiX Początkujący (470 p.)
Jak to sprawdzić?
komentarz 30 lipca 2018 przez Jackob Obywatel (1,430 p.)
Jaki system używasz?
komentarz 30 lipca 2018 przez Mr.EndiX Początkujący (470 p.)
Win 10, progam pisałem w cppdroid na telefonie po czym zmieniłem biblioteki żeby wszytko działało. A przeniosłem do Code::Blocks
0 głosów
odpowiedź 30 lipca 2018 przez Mateusz1223 Bywalec (2,440 p.)

Witam i polecam obejrzeć ten film:

https://youtu.be/9SnZMDONhFU

Myślę, że pomogłem laughwink.

komentarz 30 lipca 2018 przez Mr.EndiX Początkujący (470 p.)
Ok, dziękuje bardzo

Podobne pytania

0 głosów
1 odpowiedź 203 wizyt
0 głosów
1 odpowiedź 251 wizyt

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...