PDA

View Full Version : [c] lettura da file


processore
30-09-2010, 15:02
salve.

devo fare un programma di una calcolatrice in notazione polacca inversa.
e devo leggere i numeri e operatori da file.

per esempio

9 2 + 5 - 3 *


dopo che leggo i numeri da file la calcolatrice fa i calcoli e poi li riscrive sul fil.

il mio problema e che non riesco a leggerli dal file uso sia fscanf che getc pero mi da errore, forse li uso male io .
potreste scrivermi il codice di come leggerli dal file

grazie

Carlez
30-09-2010, 15:18
prova ad usare queste due funzioni:

fread(&buffer, dimensione, numero_elementi, fp);
fwrite(&buffer, dimensione, numero_elementi, fp);

la prima per leggere e la seconda pre scrivere. ;)

processore
30-09-2010, 17:07
scusa ma io non conosco la dimensione o il numero di elementi.

Carlez
30-09-2010, 17:44
scusa ma io non conosco la dimensione o il numero di elementi.

per sapere la dimensione puoi usare la funzione sizeof, ad esempio se hai un file organizzato in questo modo:
9
+

per leggere il numero che si tratta di un intero usi:
int num;
fread (&num,sizeof(int),1,fp);
per leggere il carattere usi:
char op;
fread (&op,sizeof(char),1,fp);

in alternativa puoi leggere sempre caratteri e poi trasformarli in numeri interi con la funzione atoi (http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/)