fflush (stdin) - vysvetlenie

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
materik
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 2369
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
Motorola EDGE 50 Pro -> Sennheiser Momentum 4 TWS
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
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 2369
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
Motorola EDGE 50 Pro -> Sennheiser Momentum 4 TWS
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
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 2369
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
Motorola EDGE 50 Pro -> Sennheiser Momentum 4 TWS
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
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 2369
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
Motorola EDGE 50 Pro -> Sennheiser Momentum 4 TWS
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: 1905
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"