// // main.c // T4_Ej8 // // Created by Mari Paz Guerrero Lebrero on 5/5/15. // Copyright (c) 2015 Mari Paz Guerrero Lebrero. All rights reserved. // #include #include char* InicializarCadena(); void Reemplazar(FILE *f1, FILE *f2, char c1, char c2); int main() { FILE *fin, *fout; char *nom_in, c_old, c_new; printf("Introduzca el nombre del fichero de entrada: "); nom_in = InicializarCadena(); printf("Introduzca el caracter al reemplazar: "); scanf("%c", &c_old); printf("Introduzca el nuevo caracter: "); scanf("%c", &c_new); fin = fopen(nom_in, "r"); if(fin != NULL) { fout = fopen("salida.txt", "w"); if(fout != NULL) { Reemplazar(fin, fout, c_old, c_new); printf("Reemplazo realizado con exito\n"); fclose(fin); fclose(fout); } else printf("Error en la apertura del fichero de salida\n"); } else printf("Error en la apertura del fichero de entrada\n"); return 0; } char* InicializarCadena() { int i = 0; char c, *s; s = (char*)malloc(sizeof(char)); while((c = getchar()) != '\n') { s[i] = c; i++; s = (char*)realloc(s, (i + 1)*sizeof(char)); } s[i] = '\0'; return s; } void Reemplazar(FILE *f1, FILE *f2, char c1, char c2) { char c; while(!feof(f1)) { c = fgetc(f1); if(c == c1) fputc(c2, f2); else fputc(c1, f2); } }