O programa que eu fiz dá problema se o arquivo de entrada está vazio (sem nada escrito dentro). Eu gostaria de saber se é possível usar a função fscanf para verificar se não há nada escrito, e também como ela identica um fim de linha ou de arquivo.
A função fscanf retorna o número de variáveis que conseguiu ler ou EOF (uma constante), se o arquivo "acabou" antes da primeira leitura. Você pode usar um código parecido com esse:
if (fscanf(meuaquivo, ""%d", &num) != 1) {
Erro de leitura
}
Outra possibilidade é usar a função feof, que verifica se o arquivo chegou ao fim.Erro de leitura
}