D'accordo sulla prima fscanf, ma se chiedi due char e passi solo una variabile, ha ragione a protestare.
Per il problema principale, devi fare una cosa simile.
codice:char * read_file(FILE * f, int *cont ) { int c,i=0,neg,x; *cont=0; while(!feof(f)) { fscanf(f,"%d",&x); (*cont)++; // Conto i numeri presenti nel file } rewind(f); char * str; // Dichiaro la stringa str=calloc(*cont,sizeof(char)); // Alloco la memoria necessaria per contenere tutti questi numeri while(!feof(f)) { // Scorro il file per salvare nella stringa i numeri che trovo fscanf(f,"%d",&x); str[i]=x; i++; } return str; // ritorno la stringa } .... int counter=0; char *stringa = read_file(f, &counter ); for (i=0; i<counter; i++) { printf("%c\n",stringa[i]); } free(stringa);

Rispondi quotando