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

#define LINHA_MAX 200

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

{
    char s1[LINHA_MAX], s2[LINHA_MAX]; /* para guardar as linhas. */
    FILE *entrada1, *entrada2;

    if(argc != 3)
    {
        fprintf(stderr, "Tem de passar dois argumentos!\n");
        return EXIT_FAILURE;
    }
    if((entrada1 = fopen(argv[1], "r")) == 0)
    {
        fprintf(stderr, "Erro abrindo o ficheiro \"%s\".\n", argv[1]);
        return EXIT_FAILURE;
    }
    if((entrada2 = fopen(argv[2], "r")) == 0)
    {
        fprintf(stderr, "Erro abrindo o ficheiro \"%s\".\n", argv[2]);
        return EXIT_FAILURE;
    }

    while(1)
    {
        int eof1 = fgets(s1, LINHA_MAX, entrada1) == 0;
        int eof2 = fgets(s2, LINHA_MAX, entrada2) == 0;

        if(eof1)
        {
            if(!eof2)
                printf("\"%s\" e' mais curto que \"%s\".\n", argv[1], argv[2]);
            break;
        }
        else
            if(eof2)
            {
                printf("\"%s\" e' mais curto que \"%s\".\n", argv[2], argv[1]);
                break;
            }
        if(strcmp(s1, s2) != 0)
        {
            printf("---\n%s: %s\n---\n%s: %s\n---\n", argv[1], s1, argv[2],s2);
            break;
        }
    }
    fclose(entrada1);
    fclose(entrada2);

    return EXIT_SUCCESS;
}