ouvrir un fichier avec pour nom un stringstream

ouvrir un fichier avec pour nom un stringstream - C++ - Programmation

Marsh Posté le 30-06-2009 à 13:24:25    

bonjour,
 
ce bout de code que j'ai fait ne fonctionne pas:

Code :
  1. string s;
  2. stringstream ss(s);
  3. ss << "images\\0.bmp"
  4. SDL_Surface* tileset = SDL_LoadBMP(ss.str().c_str());


 
si je mets directement SDL_LoadBMP("images\\0.bmp" ), ça marche...
quelqu'un sait comment le faire marcher avec le stringstream ?


Message édité par xphanoo le 30-06-2009 à 13:24:53
Reply

Marsh Posté le 30-06-2009 à 13:24:25   

Reply

Marsh Posté le 30-06-2009 à 13:33:58    

Code :
  1. stringstream ss;
  2. ss << "images\\0.bmp"
  3. SDL_Surface* tileset = SDL_LoadBMP(ss.str().c_str());
 

pas besoin de string avant


Message édité par Joel F le 30-06-2009 à 13:34:27
Reply

Marsh Posté le 30-06-2009 à 13:42:39    

oui dans le cas simplifié que j'ai posté il semblerait qu'il n'y en ait pas besoin  ;)
mais si je fais ss << "images\\" << num << ".bmp"  (num est un int) il le veut...
 
par contre il n'y a rien qui te parait incorrect dans mon code ? c'est simple, il ne charge pas l'image (enfin rien de s'affiche à l'écran après les commande pour blitter sur l'écran. en passant directement le nom du fichier à la fonction SDL_LoadBMP() ça marche :/)

Reply

Marsh Posté le 30-06-2009 à 16:01:33    

pff c'est bon j'ai trouvé l'erreur.
avant j'avais déjà utilisé le stringstream ss, en lui mettant des valeurs dedans. j'avais pris soin de faire un ss.clear(), mais après recherche sur internet je vois que ça n'a aucun effet sur les stringstream.
donc j'ai fais ss.str("" )  et là ça vide correctement le stringstream. s'il existe une solution meilleure je suis preneur ;)

Reply

Marsh Posté le 30-06-2009 à 17:59:33    

non, c'est la seule et bonne façon de faire.

Reply

Sujets relatifs:

Leave a Replay

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