|
[C] file e istruzioni fprintf fscanf fgets fputs
ciao a tutti..volevo un chiarimento su alcune istruzioni del C. Studiando i file mi sono imbattuto in istruzioni come fgets fputs fprint e fscanf..e fin qui.. la cosa diciamo che va...il problema è:nel momento in cui io scrivo in un file..poi per leggere dallo stesso file e stampare a video ciò che ho letto come faccio?
vi posto un esempio:
questo programma riceve da tastiera un testo..il compito è quello di memorizzare il testo nel file e poi rileggerlo e stamparlo a video dalla seconda riga del testo..mi sono fermato dove ci sono i ?..non so che fare..
#include <stdio.h>
#include <string.h>
main()
{char buf[512];FILE *fp;
printf("inserisci un testo\n");
gets(buf);
if(fp=fopen("prova.mio","w"))
fputs(buf,fp);
else
printf("errore in apertura");
fseek(fp,2L,0);
????????????????
fclose(fp);
fflush(stdin);
getchar();
}
avrei un'ultima domanda..come faccio a terminare la lettura del file scrivendoFINE?..nel caso la spiegazione non sia stata abbastanza esaustiva vi posto la consegna..è un esercizio di allenamento che mi ha passato un collega:
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. Terminare la lettura inserendo la scritta FINE. Visualizzare il file registrato a partire dalla seconda riga.
Modificare il programma facendo terminare la lettura delle righe col comando CTRL+Z.
grazie mille per la disponibilità
|