|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2011
Messaggi: 35
|
COde blocks Il programma termina subito
Ho creato un programma che apre un file e ne legge i contenuti e li modifica.
Facendo il debug mi da che è tutto ok, ma se lo faccio partire il prompt mi da il tempo di apertura del programma e mi fa solo uscire. Ho pensato che fosse il mio programma ad avere problemi allora ne ho copiato uno dove si creava un file e lo si compilava. anche qui debug ok, ma il programma termina subito. Il file preso dal libro è questo: #include <stdio.h> #include <stdlib.h> #define MAX 100 struct clientData { int acctNum; char lastName[20]; char firstName[20]; double bilancio; }clienti = {0, "", "", 0.0}; FILE *fPtr; int main() { int i; if((fPtr = fopen("credit.dat", "w")) == NULL) printf("Non è stato possibile aprire alcun file, ne verrà creato uno"); else{ for(i = 1; i <= MAX; i++) fwrite(&clienti, sizeof(struct clientData), 1, fPtr); } fclose(fPtr); return 0; } So che "w" apre il file in scrittura e se non esiste lo crea. Allora perché chiudere il programma? Dov'è che sbaglio? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2774
|
Non sbagli nulla, semplicemente quando il programma termina si chiude.
Per non farlo chiudere puoi aggiungere un'istruzione in fondo che lo metta in attesa, ad esempio scanf. Oppure puoi aprire una shell ed eseguire da lì il programma, in questo modo la shell resta aperta e ti permette di vedere gli output. |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Nov 2011
Messaggi: 35
|
Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
|
|
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Jan 2013
Messaggi: 38
|
Quote:
Se sei su Mac o Linux usi il Terminale. Oppure puoi aggiungere alla fine del programma l'istruzione getchar(); o scanf("%*c)"; che si aspettano entrambe un carattere per continuare. Ultima modifica di Spe! : 12-07-2013 alle 14:48. Motivo: Aggiunto quote |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:33.