fflush (stdin) - vysvetlenie

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
materik
Používateľ
Používateľ
Príspevky: 2324
Dátum registrácie: Št 10. Apr, 2008, 14:00
Bydlisko: Prešov

fflush (stdin) - vysvetlenie

Príspevok od používateľa materik »

Mam jednu otazocku: preco Dev C++ pri pisani kodu v C v konzolovej aplikacii vyzaduje pred return zadat tieto srandy?
fflush (stdin);
getchar();


Robil som len jednoduchy algoritmus na vypocet indexu a trosku ma to zblblo. Visual Studio to nepotrebuje... naco to tam
vlastne je? Z toho guglenia a anglickych textov velmi mudry nie som. :?
PC -> Topping DX7 Pro+ -> Meze 109 PRO / Microlab B77
Používateľov profilový obrázok
pEpinko
Používateľ
Používateľ
Príspevky: 850
Dátum registrácie: Po 19. Máj, 2008, 09:31
Bydlisko: BA/NR

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa pEpinko »

Co to znamena ze vyzaduje? To akoze to bez toho neskompilujes?

Inak fflush je na "splachnutie" dat (tie ktore neboli este realne zapisane ale cakaju niekde v buffri sa zapisu).
getchar je na nacitanie znaku, bezne sa ale pouziva pozdrzanie konzoly (aby si videl aj vypis programu).
Používateľov profilový obrázok
materik
Používateľ
Používateľ
Príspevky: 2324
Dátum registrácie: Št 10. Apr, 2008, 14:00
Bydlisko: Prešov

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa materik »

skompilujem... trochu som sa tam nepresne vyjadril. Jednoducho, skompiluje be error-ov ale pri
vystupe programu po zadani hodnot sa vypne. Bez tych srandiciek som nedostal vystup.
Cize ten getchar mi tam uz zacina davat vyznam
PC -> Topping DX7 Pro+ -> Meze 109 PRO / Microlab B77
Používateľov profilový obrázok
pEpinko
Používateľ
Používateľ
Príspevky: 850
Dátum registrácie: Po 19. Máj, 2008, 09:31
Bydlisko: BA/NR

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa pEpinko »

getchar mi teda zmysel dava, ale fflush(stdin) nie. Trochu som googlil a nasiel som ze pouzivaniu fflush na vstup by sa pouzivat nemalo. Robi ti to len v jednom programe, alebo akykolvek kod co napises toto vyzaduje? Zda sa mi to totiz skor na nejaku inu chybu v programe...
Používateľov profilový obrázok
materik
Používateľ
Používateľ
Príspevky: 2324
Dátum registrácie: Št 10. Apr, 2008, 14:00
Bydlisko: Prešov

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa materik »

ono mi to spravilo len v DEV C++. Ked som robil vo Visual C++ 2008 tak ten isty algoritmus tam fungoval bez tych srandiciek.
Spytam sa este profaka na fflush.
PC -> Topping DX7 Pro+ -> Meze 109 PRO / Microlab B77
Používateľov profilový obrázok
galen
Používateľ
Používateľ
Príspevky: 2237
Dátum registrácie: Št 01. Jún, 2006, 02:00
Bydlisko: Zilina

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa galen »

materik napísal:ono mi to spravilo len v DEV C++. Ked som robil vo Visual C++ 2008 tak ten isty algoritmus tam fungoval bez tych srandiciek.
Spytam sa este profaka na fflush.
skor sa pytaj na forach venujucich sa DEV C++, nakolko toto mi pripada byt rydzo specificka zalezitost toho prostredia/kompilatoru
lava, prava, lava, prava ...
Používateľov profilový obrázok
pEpinko
Používateľ
Používateľ
Príspevky: 850
Dátum registrácie: Po 19. Máj, 2008, 09:31
Bydlisko: BA/NR

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa pEpinko »

Tak nejak... Inak preco si sa rozhodol pre Dev C++? Bol si prinuteny? Lebo VS je imho ovela lepsie a ked uz nie VS tak take Code::blocks su celkom OK.
Používateľov profilový obrázok
materik
Používateľ
Používateľ
Príspevky: 2324
Dátum registrácie: Št 10. Apr, 2008, 14:00
Bydlisko: Prešov

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa materik »

Inak preco si sa rozhodol pre Dev C++? Bol si prinuteny?
no to bola len zalezitost okamihu. Nemal som na novom kompe hodene VS a potreboval som to spravit rychlo. Nemal
som jednoducho cas instalovat VS...
PC -> Topping DX7 Pro+ -> Meze 109 PRO / Microlab B77
Washbear
Nový používateľ
Nový používateľ
Príspevky: 61
Dátum registrácie: Ne 13. Júl, 2008, 00:17
Bydlisko: Bratislava

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa Washbear »

no kedze chces vypisat tvoj vystup a vidiet co tam je tak pouzijes getchar() tym povies systemu ze cakas na nejaky znak ale kedze v buffri mozem mat nacitane nejake data ako napr znak enteru tak getchar() precita len ten znak a vsetko sa rychlo skonci a neuvidis svoj vystup preto sa tam dava fflush(stdin) aby vsetko vymazal z bufferu a funckia getchar() cakala kym nieco nezadas
Používateľov profilový obrázok
numlock
Používateľ
Používateľ
Príspevky: 656
Dátum registrácie: Pi 20. Jan, 2006, 02:00
Bydlisko: nemám

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa numlock »

iba 4 roky stara tema...
i7 4790K @ 4.6GHz
ASUS Z97-A
GB HD6870
Crucial 8GB 1600MHz CL8
23´LCD Full-HD , Corsair HX650W , SSD 60GB + Hdd 2TB
Používateľov profilový obrázok
mArtinko5MB
Používateľ
Používateľ
Príspevky: 1879
Dátum registrácie: St 04. Jan, 2012, 23:32
Bydlisko: Kosice

Re: fflush (stdin) - vysvetlenie

Príspevok od používateľa mArtinko5MB »

CHcel zamachrovat :D
It might make sense just to get some in case it catches on. If enough people think the same way, that becomes a self fulfilling prophecy.
- Satoshi Nakamoto

Návrat na "Programovanie"