difference entre printf et cout ???? - C++ - Programmation
Marsh Posté le 20-04-2005 à 17:50:51
cout te retourne quoi ? les lettres correspondants aux codes ASCII dans ton tableau, non ?
Marsh Posté le 20-04-2005 à 18:39:06
"%d" c'est pour un int signé, toi tu as un (unsigned) char. Si je me souviens bien, ton code est printf est donc problématique car tu passes un char là où il attend un int...
Sinon l'équivalent de ce que tu as écris avec cout c'est de caster ton char en int, sinon avec printf c'est "%c".
Marsh Posté le 20-04-2005 à 18:39:52
ReplyMarsh Posté le 21-04-2005 à 09:21:30
cout te renvoie un std::ostream&
A priori j'ai toujours entendu que ct pas très malin d'utilisé les cin, cout en meme temps que les printf, fprintf ..
Marsh Posté le 21-04-2005 à 10:22:26
c'est pas que c'est pas malin, c'est que c'est pas pour le même langage...
Marsh Posté le 21-04-2005 à 10:39:41
LordHarryPotter a écrit : cout te renvoie un std::ostream& |
cout est un ostream
Marsh Posté le 21-04-2005 à 10:41:35
HelloWorld a écrit : cout est un ostream [:aloy] |
C'est ce qu'il a voulu dire : un std::ostream, mais il a dû oublier de désactiver les smileys et le forum a interprété ":o" ;)
Marsh Posté le 21-04-2005 à 10:46:58
Elmoricq a écrit : C'est ce qu'il a voulu dire : un std::ostream, mais il a dû oublier de désactiver les smileys et le forum a interprété ":o" |
sans blague...
Marsh Posté le 21-04-2005 à 11:05:45
Citation : cout te renvoie |
c'est l'opérateur << qui renvoie une référence sur un ostream, cout est un ostream. cout ne renvoie rien. On a tendance à croire que c'est cout qui fait le boulot, or ce sont les opérateurs <<.
Marsh Posté le 21-04-2005 à 15:42:09
HelloWorld a écrit :
|
exact c'est ceque j'ai voulu dire, en fait de meme je pense que le faite d'utiliser les opérateurs "<<", ">>" avec les fonctions printf qui n'est pas malin, par contre j'insitesur le faite que "<<" ou ">>" renvoie un std::ostream & et pas std::ostream
Marsh Posté le 21-04-2005 à 15:46:10
quand on y pense, c'est balot a peu de chose pres on avait des fonctions pruntf et coit, ca aurait ete rigolo
Marsh Posté le 21-04-2005 à 17:07:46
Reply
Marsh Posté le 20-04-2005 à 17:19:14
Bonjour,
Je me suis appercu d'une difference dont je ne comprend pas l'origine entre cout et printf dans le code suivant:
unsigned char* buf = (unsigned char*) _TIFFmalloc(sz);
TIFFReadEncodedStrip(tif,k,buf, sz );
for(int j=0;j<8;j++) {
printf("%d \n",buf[j]);
cout<<buf[j]<<endl;
}
printf et cout ne retourne pas les meme valeurs ? pouquoi ?
Printf me retourne les valeurs desirées mais j'aimerai bien comprendre pouquoi ca ne fonctionnait pas avec le cout.
Merci Bajax