// // main.c // T4_Ej7 // // 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 Concatenar(FILE *f1, FILE *f2, FILE *f3); int main() { FILE *fin1, *fin2, *fout; char *nom_in1, *nom_in2; printf("Introduzca el nombre del primer fichero de entrada: "); nom_in1 = InicializarCadena(); printf("Introduzca el nombre del segundo fichero de entrada: "); nom_in2 = InicializarCadena(); fin1 = fopen(nom_in1, "r"); if(fin1 != NULL) { fin2 = fopen(nom_in2, "r"); if(fin2 != NULL) { fout = fopen("/Users/Lin/Desktop/salida.txt", "a"); if(fout != NULL) { Concatenar(fin1, fin2, fout); printf("Copia realizada con exito\n"); fclose(fin1); fclose(fin2); fclose(fout); } else printf("Error en la apertura del fichero de salida\n"); } else printf("Error en la apertura del segundo fichero de entrada\n"); } else printf("Error en la apertura del primer 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 Concatenar(FILE *f1, FILE *f2, FILE *f3) { while(!feof(f1)) fputc(fgetc(f1), f3); fputc('\n', f3); while(!feof(f2)) fputc(fgetc(f2), f3); }