Problème avec les flux

Problème avec les flux - C++ - Programmation

Marsh Posté le 08-07-2006 à 18:27:45    

Bonjour, j'ai le code suivant :

Code :
  1. struct txt{
  2. const char* texte;
  3. };
  4. int main(){
  5. stringstream message,message2;
  6. int var1=5,var2=7;
  7. txt txtniv;
  8. message<<"numero ";
  9. message<<var1;
  10. txtniv.texte=message.str().c_str();
  11. cout<<txtniv.texte<<endl;
  12. message2<<"voici le ";
  13. message2<<var2;
  14. txtniv.texte2=message2.str().c_str();
  15. cout<<txtniv.texte<<endl;
  16. cout<<txtniv.texte2<<endl;}


 
Cependant, je ne comprend pas pourquoi, ce qui s'affiche sur la console est :
voici le 7
voici le 7
 
alors que ca devrait etre  
numero 5
voici le 7
 
Comment faire pour obtenir cela ?
 
Merci d'avance

Reply

Marsh Posté le 08-07-2006 à 18:27:45   

Reply

Marsh Posté le 08-07-2006 à 20:57:27    

La ligne 19 semble être de trop

Reply

Marsh Posté le 08-07-2006 à 21:14:46    

mais comment dois je faire alors si je veux visualiser texniv.texte ?

Reply

Marsh Posté le 08-07-2006 à 23:48:23    

C'est fait ligne 15. Pourquoi tu affiches deux fois texniv.texte ? Il y a une raison à cela ?

Reply

Marsh Posté le 09-07-2006 à 11:08:39    

pas de char*, utilise que des string

Reply

Marsh Posté le 09-07-2006 à 11:50:16    

oui, il y avait une raison à cela, c'était pour voir où est ce que txtniv.texte se "transformait".
 
Par contre, j'ai besoin de char* parce que après c'est traité dans une fonction qui utilise char*, est ce qu'une conversion est possible ?

Reply

Marsh Posté le 09-07-2006 à 12:35:13    

Reply

Marsh Posté le 09-07-2006 à 19:45:06    

ok merci

Reply

Sujets relatifs:

Leave a Replay

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