Programmer en langage C
234
© Éditions Eyrolles
• f, e ou g : float écrit indifféremment en notation décimale (éventuellement sans
point) ou exponentielle (avec e ou E)
• c : suivant la longueur, correspond à :
– un caractère lorsqu’aucune longueur n’est spécifiée ou que celle-ci est égale à 1
– une suite de caractères lorsqu’une longueur différente de 1 est spécifiée. Dans ce cas,
il ne faut pas perdre de vue que la fonction reçoit une adresse et que donc, dans ce cas,
elle lira le nombre de caractères spécifiés et les rangera à partir de l’adresse indiquée.
Il est bien sûr préférable que la place nécessaire ait été réservée. Notez bien qu’il ne
s’agit pas ici d’une véritable chaîne, puisqu’il n’y aura pas (à l’image de ce qui se
passe pour le code %s) d’introduction du caractère \0 à la suite des caractères rangés
en mémoire
• s : chaîne de caractères. Il ne faut pas perdre de vue que la fonction reçoit une adresse et
que donc, dans ce cas, elle lira tous les caractères jusqu’à la rencontre d’un séparateur
(ou un nombre de caractères égal à la longueur éventuellement spécifiée) et elle les rangera à partir de l’adresse indiquée. Il est donc préférable que la place nécessaire ait été
réservée. Notez bien qu’ici un caractère \0 est stocké à la suite des caractères rangés en
mémoire et que sa place aura dû être prévue (si l’on lit n caractères, il faudra de la place
sur n+1)
• n : int, dans lequel sera placé le nombre de caractères lus correctement jusqu’ici.
Aucun caractère n’est donc lu par cette spécification
• p : pointeur exprimé en hexadécimal, sous la forme employée par printf (elle dépend
de l’implémentation)
1.4 Entrées-sorties de caractères
FGETC
int fgetc (FILE * flux)
Lit le caractère courant du flux indiqué. Fournit :
• le résultat de la conversion en int du caractère c (considéré comme
unsigned int) si l’on n’était pas en fin de fichier
• la valeur EOF si la fin de fichier était atteinte
Notez que fgetc ne fournit de valeur négative qu’en cas de fin de fichier,
quel que soit le code employé pour représenter les caractères et quel que soit
l’attribut de signe attribué par défaut au type char.
Delannoy Livre.book Page 234 Mercredi, 6. mai 2009 4:27 16
234
© Éditions Eyrolles
• f, e ou g : float écrit indifféremment en notation décimale (éventuellement sans
point) ou exponentielle (avec e ou E)
• c : suivant la longueur, correspond à :
– un caractère lorsqu’aucune longueur n’est spécifiée ou que celle-ci est égale à 1
– une suite de caractères lorsqu’une longueur différente de 1 est spécifiée. Dans ce cas,
il ne faut pas perdre de vue que la fonction reçoit une adresse et que donc, dans ce cas,
elle lira le nombre de caractères spécifiés et les rangera à partir de l’adresse indiquée.
Il est bien sûr préférable que la place nécessaire ait été réservée. Notez bien qu’il ne
s’agit pas ici d’une véritable chaîne, puisqu’il n’y aura pas (à l’image de ce qui se
passe pour le code %s) d’introduction du caractère \0 à la suite des caractères rangés
en mémoire
• s : chaîne de caractères. Il ne faut pas perdre de vue que la fonction reçoit une adresse et
que donc, dans ce cas, elle lira tous les caractères jusqu’à la rencontre d’un séparateur
(ou un nombre de caractères égal à la longueur éventuellement spécifiée) et elle les rangera à partir de l’adresse indiquée. Il est donc préférable que la place nécessaire ait été
réservée. Notez bien qu’ici un caractère \0 est stocké à la suite des caractères rangés en
mémoire et que sa place aura dû être prévue (si l’on lit n caractères, il faudra de la place
sur n+1)
• n : int, dans lequel sera placé le nombre de caractères lus correctement jusqu’ici.
Aucun caractère n’est donc lu par cette spécification
• p : pointeur exprimé en hexadécimal, sous la forme employée par printf (elle dépend
de l’implémentation)
1.4 Entrées-sorties de caractères
FGETC
int fgetc (FILE * flux)
Lit le caractère courant du flux indiqué. Fournit :
• le résultat de la conversion en int du caractère c (considéré comme
unsigned int) si l’on n’était pas en fin de fichier
• la valeur EOF si la fin de fichier était atteinte
Notez que fgetc ne fournit de valeur négative qu’en cas de fin de fichier,
quel que soit le code employé pour représenter les caractères et quel que soit
l’attribut de signe attribué par défaut au type char.
Delannoy Livre.book Page 234 Mercredi, 6. mai 2009 4:27 16
