View Single Post
Old 03-01-2005, 22:06   #2
end.is.forever
Senior Member
 
Iscritto dal: Jul 2004
Messaggi: 1578
Il motivo per cui il programma ti si chiude velocemente è dovuto al fatto che ogni istruzione che tu hai scritto nel tuo sorgente viene eseguita, e quando ogni istruzione nella funzione main è stata eseguita (e quindi esce dalla funzione main) il programma finisce.

In windows le finestre di dos vengono aperte solo quando un programma dos viene avviato e si chiudono non appena il programma termina, cioè appena ha finito di eseguire tutte le istruzioni contenute nell'eseguibile.

Allora tu se vuoi leggere quello che è stato scritto nella finestra hai bisogno di tenere aperto il programma, cioè non farlo finire finchè non vuoi tu (utente).
La cosa più semplice che puoi fare è usare la funzione system dando come argomento la stringa "pause"; system è una funzione che esegue molte delle operazioni di dos (tra cui appunto mettere in pausa l'esecuzione fino a quando non viene premuto un tasto).

Devi anche includere l'header stdlib.h, in cui si trova la dichiarazione di quella funzione; quindi ricapitolando:

#include <stdlib.h>
...il tuo programma uguale a come era prima fino alla fine di main dove aggiungi:
system( "pause" );

Per fare le graffe devi usare ALT+123 e ALT+125.
end.is.forever è offline   Rispondi citando il messaggio o parte di esso