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

Funkcja system()

+1 głos
107 wizyt
pytanie zadane 6 dni temu w C i C++ przez Agnes Użytkownik (720 p.)
Wielu nauczycieli programowania uczy początkujących uczniów używania system("pause") na końcu programu, by okienko konsoli nie zamknęło się zanim użytkownik nie wciśnie entera czy innego klawisza. Jeśli nie powinno się tej funkcji używać w takiej sytuacji to dlaczego?

2 odpowiedzi

+1 głos
odpowiedź 6 dni temu przez mokrowski Szeryf (80,380 p.)
1. Jest to funkcja wywoływana bo dany nauczyciel nie wie że w IDE które preferuje można osiągnąć to bez takiej dziwnej "protezy": https://stackoverflow.com/questions/1775865/preventing-console-window-from-closing-on-visual-studio-c-c-console-applicatio Jak widać <CTRL> to jakiś zakazany klawisz :-/ Lub w ustawieniach IDE.

2. Funkcja ta jest niebezpieczna w programie komercyjnym bo z łatwością można zaburzyć środowisko i uruchomione będzie "pause" atakującego lub zupełnie inny program. Mówię oczywiście o kontekście wydawania oprogramowania.

3. Argument polecenia w system(...), jest właściwy wyłącznie dla danego systemu operacyjnego. Tworzysz więc kod nieprzenośny.
komentarz 6 dni temu przez Tomek Sochacki Szeryf (99,490 p.)

bo dany nauczyciel nie wie że w IDE które preferuje można osiągnąć to bez takiej dziwnej "protezy"

Niejeden nauczyciel pewnie nawet nie wie co to za magiczny skrót IDE...

komentarz 6 dni temu przez Secrus Dyskutant (8,540 p.)
Kontynuując temat, można dojść i do tego, że wielu nauczycieli informatyki, nie zna porządnie żadnego języka programowania...
komentarz 6 dni temu przez Tomek Sochacki Szeryf (99,490 p.)
Wielu to nie... ale z te 95% pewnie tak :) (albo tylko ja miałem okazje takich poznać...)
komentarz 6 dni temu przez Hiskiel Pasjonat (15,170 p.)
A znacie takich nauczycieli "Dla pewności?"

"Dla pewności dajcie dwa razy"

"Dla pewności napiszcie jeszcze to"
komentarz 6 dni temu przez Tomek Sochacki Szeryf (99,490 p.)

Niestety, póki polscy nauczyciele będą tylko teoretykami bez praktycznie żadnego (nawet choćby kilkuletniego) doświadczenia komercyjnego to nic się w naszym szkolnictwie nie zmieni... Ja mam swoje zdanie na temat nauczycieli w szkołach średnich (bardzo niepochlebne), ale nie cieszy się ono przychylnością i już nie raz zostałem zakrzyczany (nawet na tym forum)...

"Dla pewności napiszcie jeszcze to"

hehe... nom, a potem powiedz tak team leaderowi w pracy, że chcesz tak dla pewności napisać ten moduł jeszcze raz :)

0 głosów
odpowiedź 6 dni temu przez j23 Maniak (63,460 p.)

Funkcja jak funkcja, chodzi o to, że polecenie pause jest poleceniem windowsowym, więc takie wywołanie nie musi działać na systemach uniksopochodnych.

Podobne pytania

0 głosów
1 odpowiedź 50 wizyt
pytanie zadane 29 kwietnia 2017 w C i C++ przez Shiro Dyskutant (9,830 p.)
0 głosów
1 odpowiedź 57 wizyt
+1 głos
4 odpowiedzi 93 wizyt
pytanie zadane 3 lipca w C i C++ przez Sic Mądrala (6,150 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

53,042 zapytań

96,245 odpowiedzi

197,034 komentarzy

25,898 pasjonatów

Przeglądających: 144
Pasjonatów: 0 Gości: 144

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...