8
votes

Qui est préférable - printf ou fprintf

Je sais que les deux fonctions peuvent être utilisées pour sortir à la console.
J'ai lu cette question , 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?


1 commentaires

C'est comme tu veux. Vous êtes le programmeur. Vous définissez la préférence.


3 Réponses :


2
votes

Si vous devez imprimer dans un flux de sortie particulier, utilisez fprintf.

Si vous devez afficher un message d'erreur, utilisez FPRRINTF W / STDERR

Si vous développez une exécutable de ligne de commande et que vous souhaitez simplement afficher quelque chose à l'utilisateur, utilisez Printf.


0 commentaires

14
votes

Pour citer la norme (7.21.6.3 en N1570):

La fonction printf est équivalente à fprintf avec l'argument stdout interposé avant les arguments sur printf .

donc printf est plus pratique lors de l'impression sur la console, sinon, il n'y a pas de différence. Mais fprintf est un peu plus facile à modifier si vous souhaitez modifier la cible de sortie.


2 commentaires

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?



8
votes

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
$ 


0 commentaires