Différences printf/puts/write en C
Fermé
maxibgoode
Messages postés
423
Date d'inscription
mercredi 10 juin 2009
Statut
Membre
Dernière intervention
2 septembre 2010
-
25 févr. 2010 à 20:44
maxibgoode Messages postés 423 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 2 septembre 2010 - 26 févr. 2010 à 09:16
maxibgoode Messages postés 423 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 2 septembre 2010 - 26 févr. 2010 à 09:16
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
25 févr. 2010 à 23:40
25 févr. 2010 à 23:40
Bonjour,
puts(const char *ch) affiche la chaîne ch sur stdout et affiche un '\n' (donc pas besoin de fflush(stdout) pour afficher explicitement.
printf(const char*format, ...) est une fonction beaucoup plus complexe puisqu'elle va interpréter le format (%c, ...) ce qui en fait une fonction à argument variable. Elle permet donc d'afficher des int entre autres (chose que ne fait pas puts).
write est une fonction non ANSI (mais POSIX) est affiche une chaîne sur son descripteur (envoyé en premier argument).
Pour conclure, write est à éviter autant que possible (sauf cas particulier).
Ensuite pour afficher un simple texte (avec un retour chariot), utilise plutôt puts.
Et pour le reste, printf. Mais beaucoup n'utilise pas puts car printf("%s\n","coucou") fait la même chose que puts("coucou"). Et le compilateur effectuera le changement pour optimisation, si optimisation il y a.
Cdlt,
puts(const char *ch) affiche la chaîne ch sur stdout et affiche un '\n' (donc pas besoin de fflush(stdout) pour afficher explicitement.
printf(const char*format, ...) est une fonction beaucoup plus complexe puisqu'elle va interpréter le format (%c, ...) ce qui en fait une fonction à argument variable. Elle permet donc d'afficher des int entre autres (chose que ne fait pas puts).
write est une fonction non ANSI (mais POSIX) est affiche une chaîne sur son descripteur (envoyé en premier argument).
Pour conclure, write est à éviter autant que possible (sauf cas particulier).
Ensuite pour afficher un simple texte (avec un retour chariot), utilise plutôt puts.
Et pour le reste, printf. Mais beaucoup n'utilise pas puts car printf("%s\n","coucou") fait la même chose que puts("coucou"). Et le compilateur effectuera le changement pour optimisation, si optimisation il y a.
Cdlt,