équivalence char [] string

équivalence char [] string - C++ - Programmation

Marsh Posté le 26-05-2004 à 19:50:58    

Je cherche à convertir mes vieux tableaux de char en string, et je n'ai pas trouver comment faire un formattage de string comme l'on fait en c :
 
sprintf( szresult, " toto %d : %s, cpu : %.1f%%", nVal, "usage", fCpu);
 
j'ai été voir sur le site SGI et msoe mais bon, j'ai bien sûr pû rater un truc ..
 
Merci.

Reply

Marsh Posté le 26-05-2004 à 19:50:58   

Reply

Marsh Posté le 26-05-2004 à 19:56:24    

Je suis pas certain de ma reponse ... je debute en c++ mais logiquement tu dois faire ca avec des ostringstream :

Code :
  1. ostringstream formatage;
  2. formatage<<"toto"<<nval<<" : usage, cpu : "<<fCpu;
  3. string szreult(formatage.str());


 
ca doit etre qqchose comme ca .
 
Que les connaisseurs me corrigent ;)


Message édité par fabs0028 le 26-05-2004 à 19:56:47
Reply

Marsh Posté le 26-05-2004 à 20:22:09    

cai bon.
 
quelques espaces entre les  << n'est pas interdit
 
 
et avec ta notation hongroise à la con t'as tout faut
 
les std::string ne sont pas bornées par un 0 final.

Reply

Marsh Posté le 26-05-2004 à 21:15:23    

Merci.
Ok mais le formattage précis style : "%.1f%%"
ça ne va pas se faire tout seul ?
 

Reply

Marsh Posté le 26-05-2004 à 21:22:32    

avec les modificateurs de flux (et boost:io_state_saver pourquoi pas) ou boost::format
 
dans tous les cas, les IO C++ sont beaucoup plus que que tous les printf (et ça vaut aussi pour des trucs comme C#) puisque la vérification de typage est faite à la compilation

Reply

Marsh Posté le 26-05-2004 à 21:39:23    

modificateurs de flux ??
Ok, vais essayer de voir ça ..
Merci !

Reply

Marsh Posté le 26-05-2004 à 22:39:14    

Taz a écrit :

cai bon.
les std::string ne sont pas bornées par un 0 final.


je crois que si... même si ce n'est pas utilisé par string::length()
sinon le c_str() il fonctionnerait comment ?

Reply

Marsh Posté le 26-05-2004 à 22:49:44    

Et quand on veut prendre les chaînes d'ailleurs (traduction, etc.) et donc avoir des paramètres qui viennent dedans... on fait comment ? :D (simple curiosité)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-05-2004 à 23:59:20    

jesus_christ a écrit :

je crois que si... même si ce n'est pas utilisé par string::length()
sinon le c_str() il fonctionnerait comment ?


 
"last is set to 0 only on call to c_str()"

Reply

Marsh Posté le 27-05-2004 à 00:37:16    

c'est bien pour ça que que std::strlen( s.c_str() ) <= s.size()

Reply

Marsh Posté le 27-05-2004 à 00:37:16   

Reply

Marsh Posté le 27-05-2004 à 09:36:34    

cris56 a écrit :

"last is set to 0 only on call to c_str()"

ok j'ai appris un truc  :jap:

Reply

Marsh Posté le 27-05-2004 à 09:37:42    

que les chaînes C sont délimitées pas un 0 final ?

Reply

Marsh Posté le 27-05-2004 à 16:12:45    

petit moqueur va :lol:  
que  
 

cris56 a écrit :

"last is set to 0 only on call to c_str()"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed