[C++]: leggere da file.
Il concetto sembra chiaro: apri il file, ci scrivi dentro qualcosa oppure, se non è vuoto, ci scrivi tu qualcosa dentro semplicemente usando fprintf e fscanf. Eppure ho fatto questo minuscolo programma di prova e non mi viene. In pratica ho creato un file chiamato "prova" dentro il quale ho scritto "5". Poi eseguo questo programma:
#include
#include
int main (void){
FILE *fp;
fp=fopen("prova.txt","r");
int dim;
fscanf(fp, "%d",&dim);
printf ("\n\ndim=%d\n\n",dim);
fclose(fp);
system ("PAUSE");
return 0;}
per leggere tale valore e salvarlo in "dim", ma ovviamente poi dim mi viene una cosa assurda che non ha niente a che fare con il mio 5. Dove sto sbagliando?? Grazie in anticipo
#include
#include
int main (void){
FILE *fp;
fp=fopen("prova.txt","r");
int dim;
fscanf(fp, "%d",&dim);
printf ("\n\ndim=%d\n\n",dim);
fclose(fp);
system ("PAUSE");
return 0;}
per leggere tale valore e salvarlo in "dim", ma ovviamente poi dim mi viene una cosa assurda che non ha niente a che fare con il mio 5. Dove sto sbagliando?? Grazie in anticipo
Risposte
Ma... è C o C++ ?
Prova ad usare questo esempio come "esempio giuda"
Prova ad usare questo esempio come "esempio giuda"

/* Lettura di un file riga per riga. */ #include<stdlib.h> #include<stdio.h> int main() { FILE *fd; char buf[200]; char *res; /* apre il file */ fd=fopen("righe.txt", "r"); if( fd==NULL ) { perror("Errore in apertura del file"); exit(1); } /* legge e stampa ogni riga */ while(1) { res=fgets(buf, 200, fd); if( res==NULL ) break; printf("%s", buf); } /* chiude il file */ fclose(fd); return 0; }