Ringrazio tutti due. Io avevo QUASI risolto così (anche se sicuramente le vostre soluzioni sono migliori e funzionano).
In questo codice c'è comunque ancora il problema fatto notare da andbin (quello della rewind).codice:#include<stdio.h> #include<stdlib.h> #include<string.h> int main(int argc, char* argv[]) { FILE *fp; char stringa[] = "ciao\n"; int cont=0, i; char ch; char s_contatore[10]; /* inizializzazione file */ fp = fopen("prova.txt", "w"); fprintf(fp, "%d\n", cont); fclose(fp); /* aggiunta nuova stringa e aggiornamento contatore stringhe presenti nel file */ fp=fopen("prova.txt", "a"); fputs(stringa, fp); rewind(fp); i = 0; while( ((ch = fgetc(fp)) != '\n') && (i < 10) ) { s_contatore[i] = ch; i++; } s_contatore[i] = '\0'; cont = atoi(s_contatore); printf("%d", cont); cont++; rewind(fp); fprintf(fp, "%d\n", cont); fclose(fp); return 0; }
Proverò uno dei vostri suggerimenti.
Vi ringrazio ancora.
![]()

Rispondi quotando