« Programmation C/Entrées/sorties » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
m Formatage, ajout de code |
||
Ligne 87 :
</source>
Dissocie le ''flux'' du fichier auquel il avait été associé par <code>fopen</code>. Si le fichier était ouvert en écriture, le tampon est vidé. Cette fonction renvoie 0 si la fermeture s'est bien passée (notamment la purge des zones en écriture), ou <
=== Suppression ===
Ligne 142 :
</source>
Cette fonction purge toutes les zones mémoires en attente d'écriture et renvoie 0 si tout s'est bien passé, ou <
À noter que cette fonction '''ne permet pas''' de purger les flux ouverts en lecture (Pour répondre à une question du genre « Voulez-vous effacer ce fichier (o/n) ? » ). Une instruction de ce genre sera au mieux ignorée, et au pire provoquera un comportement indéterminé :
Ligne 237 :
Par défaut, les entiers sont présuposés être de type <code>int</code>, les réels de type <code>double</code> et les chaines de caractères de type <code>char *</code>. Il arrive toutefois que les types soient plus grands (et non plus petits à cause de la '''promotion des types''', c.f. paragraphes [[Programmation C Opérateurs#Promotion|opérateurs]] et [[Programmation C Fonctions et procédures#Accès aux arguments|fonction à nombre variable d'arguments]]), le spécificateur de format permet donc d'indiquer la taille de l'objet en ajoutant les attributs suivants ''avant'' le caractère de conversion :
* hh : indique que l'entier est un <
* h : indique que l'entier est de type <
* l : pour les entiers, le type attendu ne sera plus <code>int</code> mais <code>long int</code> et pour les chaines de caractères, il sera de type <code>wchar_t *</code> (c.f section [[Programmation C/Chaînes de caractères|chaînes de caractères]]).
* ll : cet attribut ne concerne que les types entiers, où le type attendu sera <code>long long int</code>.
Ligne 267 :
|}
<
Quelques exemples :
|