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
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).
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
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...
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
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
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
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