#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])

{
    FILE *entrada;
    int c;

    /* Ha' argumentos suficientes? */
    if(argc != 2)
    {
        fprintf(stderr, "Tem de passar um argumento!\n");
        return EXIT_FAILURE;
    }

    /* Abrir o ficheiro de entrada (nome em argv[1], pois argv[0] contem o
       nome do programa): */
    if((entrada = fopen(argv[1], "r")) == 0)
    {
        fprintf(stderr, "Erro abrindo o ficheiro \"%s\".\n", argv[1]);
        return EXIT_FAILURE;
    }

    while((c = getc(entrada)) != EOF)
        putchar(c);
    if(ferror(stdout))
    {
        fprintf(stderr, "Erro ao escrever!\n");
        return EXIT_FAILURE;
    }
    fclose(entrada);

    return EXIT_SUCCESS;
}