OVH Cloud OVH Cloud

Nom de fichier numerote

11 réponses
Avatar
Fanny Chevalier
Bonjour,

Je cherche a ecrire dans des fichiers dont le nom est genere au moyen
d'un compteur :
file_01.txt
file_02.txt
file_03.txt
etc...

j'ai utilise le code suivant :

#include <strstream>

for (unsigned int i = 0 ; i < nbreFichiers ; i++)
{
strstream s;
s << "file_" << i << ".txt";
string file = s.str();
ecrireFichier(file);
}

cependant strstream a l'air d'etre une en-tete un peu vieillote et mes
noms de fichiers
ont des caracteres bizarre apre le .txt...
Avec quoi dois-je remplacer cette portion de code pour avoir des noms de
fichiers corrects?
(hormis char *, je veux rester avec string)

Merci par avance,
Fanny

1 réponse

1 2
Avatar
heinquoi
"drkm" a écrit dans le message de
news:
"heinquoi" <nospam* writes:

s << "file_" << i << ".txt" << ''.


s << "file_" << i << ".txt" << std::ends ;

comme il a été dit par ailleurs, et que j'ai oublié de préciser dans
ma réponse. L'effet est s.put('').


tout a fait.
la définition de ends est:
_CRTIMP inline basic_ostream<char, char_traits<char> >&
__cdecl ends(basic_ostream<char, char_traits<char> >& _O)
{_O.put('');
return (_O); }
donc effectivement un s.put ('').
c'est comme on veut !

--
Cordialement,
Heinquoi


1 2