#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... */
}