progetto
progetto in C Marina (Uninettuno) Grazieunknown
c_cpp
4 years ago
2.3 kB
9
Indexable
// Dato un file di testo contenente parole, chiedere all’utente il nome del file ed un secondo. // Si scriva nel nuovo file tutto il contenuto del primo tranne una parola detta dall’utente. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define MAX 80 int main() { FILE *fpin,*fpout; char file [FILENAME_MAX]; char frase[MAX],riga[MAX]; char riga_p[MAX]; int l,l_frase,j,i,k,cont,trovata; printf("Nome del file da leggere "); gets (file); if ((fpin=fopen(file,"r"))==NULL) { fprintf (stderr,"Impossibile leggere il file %s",file); return EXIT_FAILURE; } printf("Nome del file da scrivere "); gets (file); if ((fpout=fopen(file,"w"))==NULL) { fprintf (stderr,"Impossibile leggere il file %s",file); return EXIT_FAILURE; } printf ("Parola da escludere "); gets (frase); l_frase=strlen(frase); while (fgets(riga,MAX,fpin)!= NULL) { if (strstr(frase,riga)!= NULL) { fputs (riga,fpout); } else { l=strlen(riga); j=0; trovata=0; cont=0; for (i=0;i<l-l_frase && trovata==0;i++) { if(riga[i]== frase[j]) { k=i; for (j=0;j<l_frase && riga[k]==frase[j];j++) { cont++; k++; printf ("%c ",frase[j]); } } if (j==l_frase) { for (k=0;k<i;k++) { printf ("%c",riga[k]); fputc (riga[k],fpout); } for (k=i;k<l-l_frase;k++) { printf ("%c",riga[k+l_frase]); fputc (riga[k+l_frase],fpout); } trovata=1; break; } } if (trovata==0) { fputs (riga,fpout); } } } return 0; }
Editor is loading...