#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *entrada, *saida; int c; if(argc != 3) { fprintf(stderr, "Tem de passar dois argumentos!\n"); return EXIT_FAILURE; } if((entrada = fopen(argv[1], "r")) == 0) { fprintf(stderr, "Erro abrindo o ficheiro \"%s\".\n", argv[1]); return EXIT_FAILURE; } if((saida = fopen(argv[2], "w")) == 0) { fprintf(stderr, "Erro abrindo o ficheiro \"%s\".\n", argv[2]); return EXIT_FAILURE; } while((c = getc(entrada)) != EOF) putc(c, saida); if(ferror(saida)) { fprintf(stderr, "Erro ao escrever!\n"); return EXIT_FAILURE; } fclose(entrada); fclose(saida); return EXIT_SUCCESS; /* como tudo correu bem... */ }