Voila une question qui me turlupine depuis un moment , comment melanger efficacement des chiffres et des lettres
par exemple
x=5 , y =2
et cree la chaine " x vaut 5 et y vaut 2 "
Je connais les methodes suivantes mais aucune ne me satisfait vraiement
Premiere Methode que je connais , sprintf a la C
sprintf(chaine,"x vaut %d et y vaut %d",x,y)
Seconde methode uttiliser des stream
chaine << " x vaut " << x << " et y vaut" << y;
j'ai l'impression que cette methode tend a deconner en particulier lorsque la valeur de la chaine change dans une boucle
Y a t'il d'autre methode je pense en particulier aux string STL
Merci ...
# Pourquoi faire compliqué quand ....
Posté par Jay . Évalué à 1.
En quoi cette méthode ne te satisfait pas ?
[^] # Re: Pourquoi faire compliqué quand ....
Posté par Obsidian . Évalué à 3.
[^] # Re: Pourquoi faire compliqué quand ....
Posté par kesako . Évalué à 2.
si x et y sont de simples nombres sprintf reste la meilleure solution c++ ou pas c++. a tout point de vue : concision, rapidité, encombrement...
c'est uniquement si x et y etaient des objets veritables comme des nombres complexes qu'on peut faire avec des stream, et encore
[^] # Re: Pourquoi faire compliqué quand ....
Posté par Obsidian . Évalué à 2.
[^] # Re: Pourquoi faire compliqué quand ....
Posté par lmg HS (site web personnel) . Évalué à 1.
Bien au delà des lacunes, il y a la simplicité d'utilisation et la maintenabilité.
Rien de tel qu'un coredump lors un log à cause d'un paramètre en conflit avec le format (et vice-versa). L'expérience ne change rien à l'inattention.
# Des strings et des lettres
Posté par Obsidian . Évalué à 4.
En fait, il faut juste penser à utiliser l'objet qui convient et à vider la chaîne quand on a fini de s'en servir. J'ai mis du temps avant de y arriver parce que je n'ai pas trouvé d'exemple mettant ceci en évidence. Mais bon:
unsigned long int x,y;
ostringstream oss;
for (x=0,y=50;x<100;++x)
{
chaine << " x vaut " << x << " et y vaut" << y;
cout << chaine;
oss.str("");
}
Le compte est bon.
[^] # Re: Des strings et des lettres
Posté par Mais qui suis-je ? :) . Évalué à 1.
[^] # Re: Des strings et des lettres
Posté par Obsidian . Évalué à 2.
# boost.format
Posté par Troy McClure (site web personnel) . Évalué à 1.
http://www.boost.org/libs/format/doc/format.html(...)
[^] # Re: boost.format
Posté par lmg HS (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.