#include <stdio.h>
#include <stdlib.h>
#define NOME_MAX 25 /* tamanho maximo dum nome. */
#define NOMECAD "25" /* idem em formato de cadeia. */
#define NOMEMAT_MAX (NOME_MAX+1) /* 25 para o nome e 1 para o '\0'. */
int main(int argc, char *argv[])
{
int numero, teste, trabalho;
char nome[NOME_MAX];
FILE *entrada;
if(argc != 2)
{
fprintf(stderr, "Tem de passar um argumento!\n");
return EXIT_FAILURE;
}
if((entrada = fopen(argv[1], "r")) == 0)
{
fprintf(stderr, "Erro abrindo o ficheiro \"%s\".\n", argv[1]);
return EXIT_FAILURE;
}
while(fscanf(entrada, "%d %" NOMECAD "c %d %d",
&numero, nome, &teste, &trabalho) == 4)
printf("Numero: %d\nNome: %s\n"
"Nota no teste: %d\nNota do trabalho: %d\n\n",
numero, nome, teste, trabalho);
fclose(entrada);
return EXIT_SUCCESS;
}