Salve a tutti!
sto provando a a sostituire una parola da me inserita(parolaOriginale) con una nuova parola (parolaSostituta) ma il programma mi cancella tutto il testo presente nel file! non capisco per quale motivo ... di seguito vi passo il codice della funzione main e della funzione .c grazie in anticipo a tutti
FUNZIONE MAIN
codice:
int main(){
char* f="a1.txt";
char* p="odiano";
char* p1="amano";
char* f1;
f1=sostituisciParola(f,p,p1);
stampaTesto(f1);
return 0;
}
FUNZIONE .C
codice:
char* sostituisciParola(char* filename,char* parolaOriginale,char* parolaSostituta){
FILE* file=fopen(filename,"w+");
if(file==NULL){
printf("errore nell'aperura del file");
exit(1);
}
char* p;
while(!feof(file)){
fscanf(file,"%s",p);
if(strcmp(p,parolaOriginale)==0){
fprintf(file,"%s",parolaSostituta);
}
else{
fprintf(file,"%s",p);
}
}
fclose(file);
return filename;
}
void stampaTesto(char* filename){
FILE* file1=fopen(filename,"r");
if (file1==NULL){
printf("errore nell'apertura file");
exit(1);
}
char* d;
while(!feof(file1)){
fscanf(file1,"%s",d);
printf("%s ",d);
}
fclose(file1);
}