// // main.c // T4_Ej5 // // Created by Mari Paz Guerrero Lebrero on 4/5/15. // Copyright (c) 2015 Mari Paz Guerrero Lebrero. All rights reserved. // #include #include char* InicializarCadena(); void Copiar(FILE *f1, FILE *f2); int main() { FILE *fin, *fout; char *nom_in, *nom_out; printf("Introduzca el nombre del fichero de entrada: "); nom_in = InicializarCadena(); puts(nom_in); fin = fopen(nom_in, "r"); if(fin != NULL) { printf("Introduzca el nombre del fichero de salida: "); nom_out = InicializarCadena(); puts(nom_out); fout = fopen(nom_out, "w"); if(fout != NULL) { Copiar(fin, fout); printf("Copia realizada 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 Copiar(FILE *f1, FILE *f2) { while(!feof(f1)) fputc(fgetc(f1), f2); }