Il seguente programma mi permette di leggere da file ingresso.txt un certo numero di numeri (0 1 1........ etc) e poi mediante la funzione conta mi restituisce la dimensione di questo file........
Nel file ingresso.txt ho inserito 16 valori 0 1 etc.... e la funzione invece di restituirmi 16 mi restituisce un valore negativo (-858993444)....... Non capisco da cosa possa dipenere questo errore...... perchè per quanto concerne la codifica sia tutto ok!!!

#include <stdio.h>

/*conta quanti elementi sono presenti nel file*/
int conta(FILE *);
main()
{
FILE *fpi, *fpu;
int N;


fpi = fopen ("C:\\LABORATORIO\\ingresso.txt", "r");

if (fpi == NULL)
printf ("Il file ingresso.txt non esiste!!!\n");
else
{
fpu = fopen ("C:\\LABORATORIO\\uscita.txt", "w");
N = conta (fpi);

fprintf(fpu, "%d", N);
}
}

int conta (FILE *A)
{
int i, conta;

while (fscanf(A, "%d", &conta) != EOF)
i = i + 1;
return i;
}