#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;
}