Pocetnicki problem oko naredbe "gets"

1

Pocetnicki problem oko naredbe "gets"

offline
  • Pridružio: 21 Jul 2004
  • Poruke: 69

Tek sam poceo da radim u c++, i dok sam pisao jednostavan program sa komandom gets() pojavio se problem:

#include<stdio.h>
#include<conio.h>
....
Ako upisem ovo "conio.h", ne prihvata mi kompajliranje, pise da takva komanda ne postoji, a ako izbacim ovu komandu kompajliranje uspe i program radi, ali dobijam poruku da bi koriscenje komande "gets" bilo opasno za racunar?!?
Moze li neko da mi objasni ovo?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 18 Apr 2003
  • Poruke: 5001
  • Gde živiš: Beograd

jesi siguran da dobijes takvu poruku ili ti mozda da poruku u kojoj kaze da ne valja mesati c i c++ Smile



offline
  • Pridružio: 21 Jul 2004
  • Poruke: 69

pise It may be dangerous for your computer to use command gets() ili slicno tome, a ne znam kako mesam c i c++(radim po nekoj knjizi)

offline
  • Pridružio: 28 Sep 2003
  • Poruke: 1081
  • Gde živiš: Where to one has lived before

Zar ne treba razmak izmedju "#include" i, recimo, "<stdio.h>"?

offline
  • mr_W 
  • Počasni građanin
  • Pridružio: 22 Mar 2004
  • Poruke: 835

@Vil_Relyt

Možda bi bilo dobro da poslušaš savet kompajlera.. jer gets() zaista može da bude opasan.


Btw.. iz koje knjige radiš ? To mi ne deluje kao neka dobra knjiga, čim koriste gets() .. A mogao bi da se kladim da će kasnije da koriste i scanf() ?? .. Baci tu knjigu i nađi nešto bolje (-:

offline
  • Pridružio: 21 Jul 2004
  • Poruke: 69

vec sam koristio scanf, i sve je radilo.Nisam upucen jesu ove komande zastarele ili...

offline
  • mr_W 
  • Počasni građanin
  • Pridružio: 22 Mar 2004
  • Poruke: 835

Heh, nije da su one zastarele, već su opasne. Ne pružaju nikakvu kontrolu nad količinom podataka koje ti korisnik unosi. Npr zamisli varijantu da ti kreiras buffer od 100 bajtova i kazes gets(buffer).. a korisnik otkuca 150 slova.. Možeš da pretpostaviš da će onih 50 slova viška da završi upravo tamo gde se najmanje nadaš...

scanf() .. lepo što si koristio, ali moj ti je savet da ga ne koristiš više.

offline
  • Nom  Male
  • Građanin
  • Pridružio: 17 Nov 2004
  • Poruke: 168
  • Gde živiš: Shanghai, China

@mw_W

ode pravo u kernel :-)

offline
  • Pridružio: 21 Jul 2004
  • Poruke: 69

A neka alternativa za scanf...

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

http://www.mycity.rs/phpbb/viewtopic.php?p=119991#119991

tu imas alternative...

Ko je trenutno na forumu
 

Ukupno su 984 korisnika na forumu :: 65 registrovanih, 7 sakrivenih i 912 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _Rade, A.R.Chafee.Jr., Acivi, alkatraz080, amstel, Ben Roj, Bobrock1, bokisha253, Brana01, brundo65, cinoeye, darkangel, Darko8, Denaya, Dimitrije Paunovic, djordje92sm, doklevise, draganca, dragoljub11987, DragoslavS, dule10savic, GORDI, HrcAk47, Istman, Karla, Kibice, kljift, Kubovac, kubura91, kuntalo, kybonacci, Levi, Lieutenant, Litostroton, ljuba, ljubacv, Luka Blažević, macak44, madza, Marko Marković, Metanoja, mgolub, MikeHammer, mikrimaus, Milometer, MiroslavD, Misirac, nebkv, nikoladim, NoOneEver Dreams, Panter, pein, rasok, repac, S.Palestinac, ser.hill, Srle993, tubular, virked, Vlad000, vladaa012, vladulns, VP6919, ZetaMan, |_MeD_|