Je sais que les deux fonctions peuvent être utilisées pour sortir à la console.
J'ai lu cette question forte> , mais personne n'a pas Dit, ce qui est préféré être utilisé lors de la sortie de la console.
Alors quelle fonction est meilleure, existe-t-il des différences majeures? P>
3 Réponses :
Si vous devez imprimer dans un flux de sortie particulier, utilisez fprintf. p>
Si vous devez afficher un message d'erreur, utilisez FPRRINTF W / STDERR P>
Si vous développez une exécutable de ligne de commande et que vous souhaitez simplement afficher quelque chose à l'utilisateur, utilisez Printf. P>
Pour citer la norme (7.21.6.3 en N1570): P>
La fonction
printf code> est équivalente à
fprintf code> avec l'argument
stdout code> interposé avant les arguments sur
printf code>. p> blockQuote>
donc
printf code> est plus pratique lors de l'impression sur la console, sinon, il n'y a pas de différence. Mais
fprintf code> est un peu plus facile à modifier si vous souhaitez modifier la cible de sortie. P>
Malheureusement, ce n'est pas toujours le cas, la boîte à outils Bras V7 LEDED contournera PrintF, tandis que FPRINTF (stdout, ...) fonctionnera correctement.
Cela signifie que ce n'est pas une implémentation conforme, n'est-ce pas?
Chaque processus comporte un flux d'entrée, nommé STDIN code> et deux flux de sortie,
stdout code> et
starr code>. Ces flux de sortie sont tous deux connectés à votre terminal, de sorte que les commandes suivantes imprimeront tous la ligne "Hello" à votre borne:
$ rm myfile
$ ls -l myfile > otherfile
ls: myfile: No such file or directory
$
C'est comme tu veux. Vous êtes le programmeur. Vous définissez la préférence.