[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;
}