PDA

Visualizza la versione completa : [C] Interrompere ciclo while() con combinazione CTRL+Z


meftod
31-08-2007, 11:49
Buongiorno a tutti.
Esiste un modo in c per interrompere l'esecuzione di un while inserendo da tastiera <CTRL>+'Z'?
Sono due giorni che ci sbatto..

GreyFox86
31-08-2007, 11:58
Non so su windows come funzioni, su linux faccio cos per catturare un ctrl-z


#include <stdio.h>
#include <signal.h>

void stop() {
printf("void stop()\n");
}

int main() {
signal(SIGTSTP,stop);
while (1);
return 0;
}

andbin
31-08-2007, 11:59
Originariamente inviato da meftod
Esiste un modo in c per interrompere l'esecuzione di un while inserendo da tastiera <CTRL>+'Z'?
Sono due giorni che ci sbatto.. Con input non bloccante, immagino, giusto?

meftod
31-08-2007, 12:04
in input io inserisco una stringa da cercare in un vettore di strutture dinamico.
l'input si deve interrompere qnd inserisco ctrl+z.

andbin
31-08-2007, 12:12
Originariamente inviato da meftod
in input io inserisco una stringa da cercare in un vettore di strutture dinamico.
l'input si deve interrompere qnd inserisco ctrl+z. Quale funzione di input usi? scanf, (f)gets o altro?

meftod
31-08-2007, 12:18
uso la scanf(). ho provato anke con la gets() ma nn sono riuscito a cavare un ragno dal buco.
e per di + sono a corto di tempo.
devo consegnare al prof entro le 12.30 di oggi :dh: :dh: :dh: :dh: :dh:

andbin
31-08-2007, 12:25
Originariamente inviato da meftod
uso la scanf(). ho provato anke con la gets() ma nn sono riuscito a cavare un ragno dal buco.Non penso che sia possibile con queste funzioni "standard" bufferizzate.

Dovresti farti la "tua" funzione di input che usa una funzione di input "diretto" (es. getch() ) e testando carattere per carattere se ctrl+z.

bullhunter74
31-08-2007, 13:03
Io uso VSC++ su Win XP e CTRL+C di solito interrompe un programma console.

LeleFT
31-08-2007, 13:41
Originariamente inviato da bullhunter74
Io uso VSC++ su Win XP e CTRL+C di solito interrompe un programma console.
Qui si chiede di testare CTRL+Z non CTRL+C... :dott:


Ciao. :ciauz:

Loading