Zdravim,
nevite jak se da v c++ prerusit nekonecny cyklus (treba inkrementace promenne v kazdem cyklu) stiskem nejake klavesy? Jsou na to nejake funkce? A potreboval bych, aby to fungovalo na vsech standardnich OS...
Fórum › C / C++
Preruseni nekonecneho cyklu
w3q napsal:
Čo takto podmienka. Napr. ak je stlačené niejaké tlačidlo, tak break.
Nj, ale ja jakozto neznalec pokrocilejsich technik v cecku nevim, jak se da monitorovat to stisknuti. Neznam ty funkce...
Nepochopil jsem, jestli potřebuješ přerušit ten cyklus při provádění programu nebo přímo v kódu. V prvím případě na unixovým systému klasicky Ctrl-c (na woknech nevim, podle mě nic obecného pro všechny os není) ve druhém případě zastavit cyklus breakem nebo vyskočit pomocí goto (!!), ale to pak neni nekonečnej cyklus, takže nevím, co chceš vědět. Spíš by mě zajímalo, jaká situace tě donutila řešit tenhle problém? Nebo je to čistě ze zvědavosti?
Aha, už možná vim, o co ti jde. Na Windows by měla fungovat tahle konstrukce:
while(1)
{
if(kbhit())
{
break;
}
}
je to v headeru conio.h, ale jak na to na unixu nevím, zkus to vygooglit
EDIT: aha, tak na unixu se musí použít fce select() (jako, když čteš ze socketu) viz http://cc.byexamples.com/ kapitola Non-blocking user input in loop without ncurses. Je to docela zajímavý, až budu mít trochu času, rád se na to podívám podrobněji,
diky za odpovedi - kbhit() prave bohuzel funguje jen na oknech... nicmene se spokojim pouze s ctr-c, nemam cas vymejslet neco jineho. Zkousel jsem googlit, a vypadly mi nejake nahrazky za kbhit, ale nestiham uz je implementovat.
Jedna se o semestralni praci na synchronizaci vlaken pod unixem.
Gadael napsal:
diky za odpovedi - kbhit() prave bohuzel funguje jen na oknech... nicmene se spokojim pouze s ctr-c, nemam cas vymejslet neco jineho. Zkousel jsem googlit, a vypadly mi nejake nahrazky za kbhit, ale nestiham uz je implementovat.
Jedna se o semestralni praci na synchronizaci vlaken pod unixem.
koukni na EDIT v mém předchozím příspěvku, sorry, že v tom dělám bordel :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Vytvoření nekonečného cyklu v C — založil gumitek
Raspberry Pi a hw preruseni — založil svoby1
Přerušení u MCP23S17 — založil Tonda
Preruseni - zakmity — založil morganzd
MEGA8 UART prerušení — založil johnny
Moderátoři diskuze