"cout <<" et "printf()" : Que choisir ?

ted777 Messages postés 8 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 30 octobre 2003 - 29 oct. 2003 à 14:28
ted777 Messages postés 8 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 30 octobre 2003 - 30 oct. 2003 à 14:20
Lors de mon apprentissage qui perdure encore, j'ai appris à utilisé l'instruction "cout" et le flux << pour afficher mon texte dans la console DOS ( par exemple : cout << "Hello world !"; ).
Mais en cours de route, j'ai remarqué la grande présence de l'instruction "printf()" dans la plupart des codes sources, et aboutissant à un résultat similaire...

Ce que je voudrais savoir, c'est pourquoi plutôt utiliser l'une que l'autre ? Ont-elles des capacités totalements différentes ? ... Merci à tous de vos réponse !

4 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
29 oct. 2003 à 15:52
Salut,
cout/cin c'est du C++
printf c'est du C

Perso je prefere printf, je trouve que c'est plus facile de mettre en forme le texte que tu va afficher. En plus d'autres fonctions derivées de printf (sprintf, fprintf, etc) sont parfois utiles, donc c'est bien de savoir s'en servir.
Par contre, je crois que cout est bcp plus rapide que printf (je me souvient avoir lu un truc a ce sujet sur ce site qui disait cela).
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
29 oct. 2003 à 20:00
Pas c'est pas si evident que ca !
Le printf est rapide.

Il est vrai que le formatage de texte avec printf est beaucoup plus facile. Il y a enormement d'options.
0
cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
30 oct. 2003 à 01:00
Salut, bon, comme on vient de te dire
cout / cin -> C++
et printf -> C
OK
Mais l'un n'est pas plus rapide que l'autre, ce n'est pas vrai!
C'est juste que kan on fait un endl pour sauter une ligne le cache est directement vidé, c'est sans doute pour ca que aardman disait que cout était plus rapide, on peut réliser exactement la même chose en faisant un fflush sur le descripteur 1 (stdout) après un printf !!!
En fait les deux fonctions cout et printf réalisent exactement la même chose, c'est a dire envoyer des caractères vers le flot stdout (descripteur 1). Sinon, il n'est pas non plus vrai que printf a plus de fonction dérivées ...Non!!!! En C++ y'a aussi les ifstream, ofstream, ostream, etc.. qui permettent de réaliser bien d'autre choses. Voilà.
Si t'as pas tout pigé mon conseil est que si tu programmes en C utilises les printf et scanf et si tu programmes en C++ utilises les cout et cin.
Alé, bonne prog.
Bouba
0
ted777 Messages postés 8 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 30 octobre 2003
30 oct. 2003 à 14:20
Finalement, la différence n'est pas aussi flagrante que je le pensait ! Merci pour vos réponses, ça m'embrouillera moins la prochaine fois que je rencontrerai ces instructions ! ;-p
0
Rejoignez-nous