Leggere un file

di il
2 risposte

Leggere un file

Ho un problema nel apertura di un file in modalita lettura!
mi apre il file ma non mi legge gli spazzi, e il testo viene visualizato tutto attaccato !!
questo e un frammento del codice mi sapete dire dove sbaglio ???

int main(int argc, char **argv)
{
char database[500000];
FILE *Ptfile;

if ((Ptfile = fopen("database.dat", "r"))==NULL){
printf ("Error\n");
} else { /* read account, name and balance from file */
fscanf( Ptfile, "%s", database );

/* while not end of file */
while ( !feof( Ptfile ) ) {
printf( "%s", database );
fscanf( Ptfile, "%s", database );
}

fclose (Ptfile);
}
}


grazie

2 Risposte

  • Re: Leggere un file

    Intanto dovresti inserire un "a capo" nella printf

    printf( "%s\n", database );

    poi non credo che 500000 bytes siano necessari per leggere ogni riga (!) ... bastano e avanzano 1000 caratteri ...
  • Re: Leggere un file

    Fscanf legge una parola per ogni %s.

    Se vuoi leggere l'intera riga devi usare fgets.

    ciao
Devi accedere o registrarti per scrivere nel forum
2 risposte