
Envoyé par
PRomu@ld
Désolé, j'ai lu mon man un peu trop vite :
La référence, c'est pas le man, qui est lié à une impémentation et est éventuellement déformé par certaines pratiques...
Le K&R2 (B1.5 Page 252) dit, pour fread() : (aux erreurs de copies près)
size_t fread ()void *ptr, size_t size, size_t nobj, FILE *stream)
"fread lit sur le flot stream au plus nobj objets de taille size et les place dans le tableau ptr. fread retourne le nombre d'objets lus; il peut être inférieur au nombre demandé. Il faut utiliser feof et ferror pour déterminer l'état du flot."
Il n'est pas question de mode binaire. Bien sûr, cette fonction est adaptée à la lecture de blocs de données non interprétés (raw ou binaires), par opposition à fgets()/fscanf() qui interprète les données texte (ou cooked) et transforme, par exemple, CR/LF. en '\n'...
Encore une fois, cette transformation, même si elle est faite par la fonction de lecture (fgetc(), en fait), est soumise au mode d'ouverture du fichier.
Partager