1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| void IncrementalSaver::save()
{
/* j'ai besoin d'un flux de conversion en chaine de caractères
*/
std::stringstream ss;
/* je lui fournit la partie commune de la chaine à laquelle
* je rajoute à ce flux la valeur correspondant à l'enregistrement
* actuel et l'extension
*/
ss<<filename<<count<<".bmp";
/* il faut maintenant que je récupère le tout dans une chaine de
* caractères
* je la nomme tmp, par simple habitude ;)
*/
std::string tmp=ss.str();
/* j'utilise cette chaine de caractères comme nom du fichier à ouvrir
*/
std::ostringstream oss(tmp.c_str(),std::ios_base::binary);
/* il y a une quantité de raisons qui font que la création du fichier peut
* échouer...
* Si je n'ai que faire de la raison, il faut que l'ouverture du fichier aie
* réussi pour que je puisse envisager d'écrire dedans
*/
if(ofs)
{
/* ici, le fichier est ouvert, je peux écrire dedans
* mais je ne dois pas oublier d'incrémenter mon compteur
* pour la prochaine fois
*/
++count;
}
} |