Per i problemi nell'apertura lo fai qui
if (f == NULL)
{
*size = 0;
return NULL;
fclose(f);
}
anche se la fclose non ha senso inserirla (dopo la if non va nulla e dato che il file non è aperto non va chiuso).
L'hai scritto tu questa if?
Per i problemi nell'apertura lo fai qui
if (f == NULL)
{
*size = 0;
return NULL;
fclose(f);
}
anche se la fclose non ha senso inserirla (dopo la if non va nulla e dato che il file non è aperto non va chiuso).
L'hai scritto tu questa if?
No MP tecnici (non rispondo nemmeno!), usa il forum.
si l'ho scritta io, e come controllo se durante la lettura ho per esempio un file strutturato così:
56
8 Luca
12 Marco
Il primo numero dovrebbe essere il numero di persone presenti nel file... essendo più grande farei un for inutile 56 volte come farei a controllare se quel numero corrispoinde effettivamente al numero di righe presenti nel file???
Ne ho bisoghno perché se il numero è maggiore devo ritornare null.
Inoltre se il file è vuoto come lo controllo?
Devi controllare il risultato restituito da ogni fscanf. Ad esempio, per la prima
r = fscanf(f, "%i", &nrighe);
in cui r è un int che devi controllare. Il suo valore ha un significato che trovi nella sezione Return Value
del documento in
http://www.cplusplus.com/reference/cstdio/fscanf/
No MP tecnici (non rispondo nemmeno!), usa il forum.