-
Arguments de fwrite
Bonjour,
le prototype de la fonction fwrite est :
Code:
size_t fwrite (const void *ptr, size_t size, size_t nmemb, FILE *stream);
On écrit donc nmemb fois size octets. Si je divise nmemb par 2 et que je double size, j'ai l'impression qu'on écrit la même chose. Pourquoi ces deux champs ou où est-ce que je me trompe ?
Merci.
-
Bonjour,
Tu ne te trompes pas : x * 2 * y / 2 = x * y
Il n'y a pas de différence si tout se passe bien, mais cela peut-être différent lors d'une erreur. Si tu souhaites écrire 4 longs soient 4 * 8 = 32 bytes, tu pourrais écrire 32 chars. En cas d'échec, ce n'est pas tout à fait pareil de savoir que tu as réussi à écrire 3 longs au lieu de 31 chars. Or, la valeur de retour est le nombre d'éléments correctement écrits.