ciao a tutti, ho un problema con l'esercizio seguente, cioè, quando visualizzo a video non so come fare a scrivere partendo dalla seconda riga, se qualcuno sa aiutarmi gliene sarei molto grato... grazie a tutti in anticipo..
codice:#include <stdio.h> #include <string.h> /** Scrivere un programma che acquisisca, riga per riga utilizzando un’unica stringa come buffer,un testo (es. un brano di un libro, un articolo di giornale, una lettera) e la memorizza, sempre riga per riga in un file. Utilizzare per acquisire i dati da tastiera la funzione gets e per memorizzarli su file la funzione fputs. Terminata la lettura, visualizzare il file registrato a partire dalla seconda riga. **/ main() {char testo[200],eof[]="fine",acapo[]="\n"; int risposta; FILE *fp; printf("Scrivere testo riga per riga:\n\nInserire riga:\n"); gets(testo); risposta=strcmp(testo,eof); if((fp=fopen("Testo.txt","w+"))==NULL) printf("Errore nella scrittura del file\n"); else{ if(risposta){ while(risposta){ fputs(testo,fp); fputs(acapo,fp); printf("\nInserire riga:\n"); gets(testo); risposta=strcmp(testo,eof); } } else printf("Non hai scritto nel file"); } rewind(fp); do{ //vorrei che mi facesse un ciclo in meno //senza stamparmi 2 volte l'ultima riga fgets(testo,200,fp); //il problema deriva dall'ultimo \n in scrittura file puts(testo); }while(!feof(fp)); fclose(fp); fflush(stdin); getchar(); }

Rispondi quotando