PDA

Visualizza la versione completa : [C]Esiste una sorta di getc() non bloccante ??


FaDe
18-12-2003, 21:49
Ciao ho il seguente problema vorrei eseguire del codice all'interno di un ciclo, finch non viene premuto un tasto, ho provato due soluzioni la prima non mi ha soddisfatto ovviamente :cry::

while(getc()!='q'){

//fai qualcosa

}

perch cos vuole qualcosa in input ad ogni giro

La seconda soluzione funziona ma utilizza una funzione contenuta nella libreria svgalib:

while(!keyboard_update()){
//fai qualcosa
}

La domanda : esiste un'altra soluzione magari utilizzando la libreria standard del C.

Grazie in anticipo :metallica:

pdpmpd
18-12-2003, 22:16
ti posso rispondere con un'altra funzione non-standard:
getche

}gu|do[z]{
19-12-2003, 06:39
progetto di Sistemi sim? :D


non so che devi fare sinceramente... ma un ciclo infinito in cui con un if controlli se stato premuto q e nell'else ci metti il resto? :dott:

iguana13
19-12-2003, 09:41
Originariamente inviato da FaDe

...
La seconda soluzione funziona ma utilizza una funzione contenuta nella libreria svgalib:

while(!keyboard_update()){
//fai qualcosa
}

La domanda : esiste un'altra soluzione magari utilizzando la libreria standard del C.

Grazie in anticipo :metallica:

Con la libreria standard nn so ( piuttosto scarsa...) ma piuttosto puoi usare una API del sistema operativo, come GetKeyboardState

FaDe
19-12-2003, 15:43
Ola }gu|do[z]{ !!!

yes il progetto.... inoltre devo ancora capire come implementare l'ingresso dei clienti con distribuzione geometrica. Ho postato xch volevo utilizzare come condizione di uscita dalla "simulazione" la pressione di un tasto, ma se uso librerie strane corro il pericolo che li non compila o che si "offendono".....:mavieni:


X gli altri grazie delle dritte ma st sviluppando sotto linux (scusate non lo avevo specificato) dunque no API no conio.h :nonono:


BUON NATALE A TUTTI

}gu|do[z]{
19-12-2003, 15:51
Originariamente inviato da FaDe
Ola }gu|do[z]{ !!!

yes il progetto.... inoltre devo ancora capire come implementare l'ingresso dei clienti con distribuzione geometrica. Ho postato xch volevo utilizzare come condizione di uscita dalla "simulazione" la pressione di un tasto, ma se uso librerie strane corro il pericolo che li non compila o che si "offendono".....:mavieni:


s.. immaginavo.. e ho anche detto 'na stron**ta :stordita:

ma sei sicuro che il prof abbia detto che termina alla pressione di un tasto??

a me pareva di ricordare che arrivasse fino a tot clienti presi da input e quello foss l'unico modo di terminare... buh :bh:

in bocca a mancini :gren:

Loading