maksimon
10-07-2013, 14:31
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?
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?