Newsgroup: it.comp.lang.c
Titolo: ultima mia speranza

Ciao...
in tutti gli alri group non hanno saputo aiutarmi... a me non sembra che il
mio prob sia cosi difficile....
spero che questo sia il group giusto...
non è da molto che programmo in C ed avrei il seguente problema...
il prog è un game of life in ambiente terminale linux...
Ho una funzione NextStep che voglio eseguire da quando presso Enter a quando
lo schiaccio di nuovo...
Come faccio???
Riesco solo a fargli fare un passo per ogni key pressata...
Se avete un min... grazie...
Matt
ps: percaso qcuno conosce una funzione wait(time)??

ps: percaso qcuno conosce una funzione wait(time)??
Se lavori sotto linux avrai anche un man si spera :)
Quello che serve a te e' la sleep(3)... la wait fa' tutte altre cose
:)
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

grazie mille dell aiuto...
in alcune docs ho trovato che sotto dos esiste una func kbhit()
e che sotto linux la si possa fare usando poll() o select()...
non trovo nulla a riguardo pero....

 non trovo nulla a riguardo pero....
Lascia perdere, se usi le ncourses, c'è getch che puoi settare in modalità 
timeoutded.
inizializzi lo schermo con:
WINDOW *scr = initscr();
nodelay(scr,true);
bool running = false;
nel loop dove utilizzi la funzione:
char car = getch();
if (getch()=="codice dell'invio")  running=!running;
if (running) NextStep();
Questo è quanto ricordo x darti un aiutino veloce.. se ho commesso errori 
correggili :-)
Ciao!
Enrico
--
   ("`-''-/").___..--''"`-._
    `6_ 6  )   `-.  (     ).`-.__.`)__   _ ,_  ___    __  ____  __
    (_Y_.)'  ._   )  `._ `. ``-..-'__/ /| | / / _ \  / / / __/ /  \
  _..`--'_..-_/  /--'_.' ,'     /__/  / | |/ / `-_/ / / / /_  / // |
 (il),-''  (li),'  ((!.-'      /___/ /_/|_/ /_/\_\ /_/ |___/  \___/
 
http://www.dei.unipd.it/~rosenric

Grazie mille
non ho ancora provato cmq
grazie per l'aiuto...
su sti forum si trovano raramente persone come te....
Io trovo solo gente che sa tanto parlare ma non ti aiuta mai....

 wrote in message
news:3cc2ee56$1...@news.bluewin.ch...

Un grazie da parte di Mox che ha parlato tanto senza aiutarti.
A certi stronzi dovrebbero sequestrare la tastiera per evitare di
stupidaggini sui NG.
Ovviamente parlo di te non di Mox.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Ovviamente parlo di te non di Mox.
   idem....
Io non volevo offendere nessuno... solo dire questo...
E' da poco tempo che faccio C... un mesetto...
Ho postato la stessa domanda in vari forum... qui ho trovato aiuto...
in altri posti soltanto gente che mi dice che ho sbagliato forum (tipo in
c-learning... il colmo...)
oppure gente che mi dice che posso che il mio problema richiede questo e
quello ma senza dire nulla infondo...
Io mica pretendo che su un forum fai na domanda e ti danno la risp
pronta....
Ma che se ti rispondono... sia per almeno instradarti verso a una risposta e
non tanto per dir qlcosa....
Non trovate???

     forse a te.....
Almeno il sottoscritto non ringrazia qualcuno spargendo merda sugli
altri. Sara' una questione di stile ...



ogni ng ha un indirizzamento particolare, altrimenti non avrebbe senso dagli
dei nomi diversi. Questo in particolare tratta il linguaggio c, tutto ciò che
non riguarda il linguaggio in se non è tema da essere trattato qui. Se chiedi
cosa sia un puntatore allora sei nel posto giusto, ma se vuoi sapere il 
funzionamento di una libreria non standard devi chiedere da un'altra parte.
Se proprio non puoi almeno metti [OT]
ciao 

Grazie...
Ecco la solutzione...
#include <termios.h>
#include <unistd.h>
#include <sys/ioctl.h>
int wait_for_input( int timeout )
{
    fd_set fds;
    int retval;
    struct timeval tv;
    FD_ZERO( &fds );
    FD_SET( STDIN_FILENO, &fds );
    tv.tv_sec = timeout / 1000;
    tv.tv_usec = ( timeout % 1000 ) * 1000;
    retval = select( STDIN_FILENO + 1, &fds, NULL, NULL, &tv );
    return ( retval > 0 && FD_ISSET( STDIN_FILENO, &fds ) ) ? 1 : 0;
}