View Full Version : [C++] interrompere ciclo
Teo@Unix
20-03-2010, 01:37
scusate sarà l'ora ma.... in C++ senza usare getch() come interrompo un ciclo while, non mi vengono idee, con getch() non ho problemi ma ora non posso usarla. ... :rolleyes:
bobbytre
20-03-2010, 01:52
forse vuole qualcosa tipo "premi un tasto per continuare..."
in questo caso :
system("PAUSE");
Teo@Unix
20-03-2010, 01:59
forse vuole qualcosa tipo "premi un tasto per continuare..."
in questo caso :
system("PAUSE");
no, no.... durante un ciclo while(1), l'utente preme un tasto e avviene il break. Altrimenti è infinito.
bobbytre
20-03-2010, 02:07
no, no.... durante un ciclo while(1), l'utente preme un tasto e avviene il break. Altrimenti è infinito.
scanf ?
Teo@Unix
20-03-2010, 02:09
ma scanf è bloccante.
bobbytre
20-03-2010, 02:20
ma scanf è bloccante.
mi sa che devi usare i threads , uno per il ciclo e uno per l'input da tastiera
scusate sarà l'ora ma.... in C++ senza usare getch() come interrompo un ciclo while, non mi vengono idee, con getch() non ho problemi ma ora non posso usarla. ... :rolleyes:
Con getch dovresti avere problemi perché non è standard (sempre che tu ti rivolga alla getch di conio.h e non a quella curses).
string tmp;
getline(cin, tmp);
oppure
cin.get();
no, no.... durante un ciclo while(1), l'utente preme un tasto e avviene il break. Altrimenti è infinito.
E' ben diversa la questione allora. getch non era assolutamente adatta a questa situazione.
Il suggerimento del thread è valido. In alternativa ti devi rivolgere alle API/syscall di sistema o alle libreria ncurses se sei in linux (cbreak).
Anzi, guarda questo che fa al caso tuo (sempre che tu sia su Linux): http://cc.byexamples.com/2007/04/08/non-blocking-user-input-in-loop-without-ncurses/
Teo@Unix
20-03-2010, 11:36
Anzi, guarda questo che fa al caso tuo (sempre che tu sia su Linux): http://cc.byexamples.com/2007/04/08/non-blocking-user-input-in-loop-without-ncurses/
si, ottimo!
L'idea di usare la select() è sicuramente una buona soluzione.
Grazie.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.