« Programmation C/Entrées/sorties » : différence entre les versions
Contenu supprimé Contenu ajouté
Conj |
Aucun résumé des modifications |
||
Ligne 57 :
<syntaxhighlight lang="c">
fopen("fichier.txt", "rb"); /* Ouverture sans conversion */
fopen("fichier.txt", "wb"); /* L'écriture d'un '\n'
</syntaxhighlight>
</li>
Ligne 168 :
En retour elle indique le nombre de caractères qui a été écrit à l'écran, dans le flux ou la zone mémoire ('''caractère nul non compris''' pour <code>sprintf</code>).
Bien que cela ait déjà été traité dans la section dédiée aux
À noter que <code>snprintf()</code> devrait toujours retourner la taille de la chaine à écrire, indépendamment de la limite fixée par le paramètre <code>taille</code>. Le conditionnel reste de mise, car beaucoup d'implémentations de cette fonction se limitent à retourner le nombre de caractères ''écrit'', c'est à dire en s'arrêtant à la limite le cas échéant.
Ligne 184 :
*'''g''' effectue un mixe de 'f' et de 'e' suivant le format le plus approprié ;
*'''c''' pour afficher en tant que caractère ;
*'''s''' pour afficher une
*'''p''' pour afficher la valeur d'un pointeur, généralement sous forme hexadécimale. Suivant le compilateur, c'est l'équivalent soit à <code>"%08x"</code>, ou alors à <code>"0x%08x"</code>. ;
*'''n''' ce n'est pas un format d'affichage et l'argument associé doit être de type <code>int *</code> et être une référence valide. La fonction stockera dans l'entier pointé par l'argument le nombre de caractères écrit jusqu'à maintenant ;
Ligne 211 :
</syntaxhighlight>
À noter que pour le
* <code>0</code> : Si un zéro est présent dans le spécificateur de largeur, le nombre sera aligné avec zéros au lieu de blancs.
* <code>+</code> : Si un signe plus est présent avec le spécificateur de largeur, le signe du nombre sera affiché tout le temps (0 est considéré comme positif).
Ligne 239 :
* hh : indique que l'entier est un <code>[un]signed char</code> au lieu d'un <code>[unsigned] int</code> ;
* h : indique que l'entier est de type <code>[unsigned] short</code> au lieu d'un <code>[unsigned] int</code> ;
* l : pour les entiers, le type attendu ne sera plus <code>int</code> mais <code>long int</code> et pour les
* ll : cet attribut ne concerne que les types entiers, où le type attendu sera <code>long long int</code>.
* L : pour les types réels, le type attendu sera <code>long double</code>.
|