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)
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?
Il manque le marqueur de fin de chaine:
s << "file_" << i << ".txt" << ends;
A suivre...
Bonjour Fanny,
Fanny Chevalier wrote:
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?
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?
Il manque le marqueur de fin de chaine:
s << "file_" << i << ".txt" << ends;
A suivre...
Spoofix
"Fanny Chevalier" a écrit dans le message de news:cdo207$svr$
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)
Mettre s << "file_" << i << ".txt"<<endl; ?
"Fanny Chevalier" <chevalie@labri.fr> a écrit dans le message de
news:cdo207$svr$1@news.u-bordeaux.fr...
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)
"Fanny Chevalier" a écrit dans le message de news:cdo207$svr$
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)
Mettre s << "file_" << i << ".txt"<<endl; ?
Falk Tannhäuser
Fanny Chevalier wrote:
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";
Ici, il manque ' << ends' à la fin, afin d'insérer ' ' pour terminer la chaîne de caractères.
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?
#include <sstream> #include <iomanip>
for(unsigned i=0; i<nbreFichiers; ++i) { std::ostringstream os; os << "file_" << std::setfill('0') << std::setw(2) << i << ".txt"; ecrireFichier(os.str()); }
Falk
Fanny Chevalier wrote:
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";
Ici, il manque ' << ends' à la fin, afin d'insérer ' ' pour terminer
la chaîne de caractères.
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?
#include <sstream>
#include <iomanip>
for(unsigned i=0; i<nbreFichiers; ++i)
{
std::ostringstream os;
os << "file_" << std::setfill('0') << std::setw(2) << i << ".txt";
ecrireFichier(os.str());
}
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";
Ici, il manque ' << ends' à la fin, afin d'insérer ' ' pour terminer la chaîne de caractères.
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?
#include <sstream> #include <iomanip>
for(unsigned i=0; i<nbreFichiers; ++i) { std::ostringstream os; os << "file_" << std::setfill('0') << std::setw(2) << i << ".txt"; ecrireFichier(os.str()); }
Falk
drkm
Fanny Chevalier writes:
#include <strstream>
for (unsigned int i = 0 ; i < nbreFichiers ; i++) { strstream s; s << "file_" << i << ".txt"; string file = s.str(); ecrireFichier(file); }
Si je me souviens bien, tu dois utiliser std::strstream::freeze() avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt que std::stringstream ?
#include <iomanip> #include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) { stringstream s ; s << "file_" << std::setw( 2 ) << i << ".txt" ; ecrireFichier( s.str() ) ; }
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Fanny Chevalier <chevalie@labri.fr> writes:
#include <strstream>
for (unsigned int i = 0 ; i < nbreFichiers ; i++)
{
strstream s;
s << "file_" << i << ".txt";
string file = s.str();
ecrireFichier(file);
}
Si je me souviens bien, tu dois utiliser std::strstream::freeze()
avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec
std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt
que std::stringstream ?
#include <iomanip>
#include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) {
stringstream s ;
s << "file_" << std::setw( 2 ) << i << ".txt" ;
ecrireFichier( s.str() ) ;
}
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
for (unsigned int i = 0 ; i < nbreFichiers ; i++) { strstream s; s << "file_" << i << ".txt"; string file = s.str(); ecrireFichier(file); }
Si je me souviens bien, tu dois utiliser std::strstream::freeze() avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt que std::stringstream ?
#include <iomanip> #include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) { stringstream s ; s << "file_" << std::setw( 2 ) << i << ".txt" ; ecrireFichier( s.str() ) ; }
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Fanny Chevalier
Si je me souviens bien, tu dois utiliser std::strstream::freeze() avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt que std::stringstream ?
#include <iomanip> #include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) { stringstream s ; s << "file_" << std::setw( 2 ) << i << ".txt" ; ecrireFichier( s.str() ) ; }
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Pas de raisons d'utiliser strstream : c'est ce que j'avais trouve sur le
net... J'ai remplace par des stringstream et ai ajoute ends, ca fonctionne tres bien. Merci
Si je me souviens bien, tu dois utiliser std::strstream::freeze()
avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec
std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt
que std::stringstream ?
#include <iomanip>
#include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) {
stringstream s ;
s << "file_" << std::setw( 2 ) << i << ".txt" ;
ecrireFichier( s.str() ) ;
}
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Pas de raisons d'utiliser strstream : c'est ce que j'avais trouve sur le
net...
J'ai remplace par des stringstream et ai ajoute ends, ca fonctionne tres
bien.
Merci
Si je me souviens bien, tu dois utiliser std::strstream::freeze() avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt que std::stringstream ?
#include <iomanip> #include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) { stringstream s ; s << "file_" << std::setw( 2 ) << i << ".txt" ; ecrireFichier( s.str() ) ; }
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Pas de raisons d'utiliser strstream : c'est ce que j'avais trouve sur le
net... J'ai remplace par des stringstream et ai ajoute ends, ca fonctionne tres bien. Merci
tib.motuelle
Fanny Chevalier wrote in message news:<cdo207$svr$...
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?
Avec std::stringstream: #include <sstream>
for (unsigned int i = 0 ; i < nbreFichiers ; i++) { std::ostringstream s; s << "file_" << i << ".txt"; std::string file = s.str(); ecrireFichier(file); }
Pour info, avec strstream il faut prendre un peu plus de précautions: for (unsigned int i = 0 ; i < nbreFichiers ; i++) { std::ostrstream s; s << "file_" << i << ".txt" << std::ends;// Marque la fin de chaîne
std::string file = s.str(); // str() retourne un char* // et te donne la responsabilité // de désallouer ce buffer.
s.rdbuf()->freeze(0); // Retourne au stream la // responsabilité du buffer. // Sans ca, (c.f. ton code) // tu as une fuite mémoire. ecrireFichier(file); }
Bertrand.
Fanny Chevalier <chevalie@labri.fr> wrote in message news:<cdo207$svr$1@news.u-bordeaux.fr>...
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?
Avec std::stringstream:
#include <sstream>
for (unsigned int i = 0 ; i < nbreFichiers ; i++)
{
std::ostringstream s;
s << "file_" << i << ".txt";
std::string file = s.str();
ecrireFichier(file);
}
Pour info, avec strstream il faut prendre un peu plus de précautions:
for (unsigned int i = 0 ; i < nbreFichiers ; i++)
{
std::ostrstream s;
s << "file_" << i << ".txt" << std::ends;// Marque la fin de chaîne
std::string file = s.str(); // str() retourne un char*
// et te donne la responsabilité
// de désallouer ce buffer.
s.rdbuf()->freeze(0); // Retourne au stream la
// responsabilité du buffer.
// Sans ca, (c.f. ton code)
// tu as une fuite mémoire.
ecrireFichier(file);
}
Fanny Chevalier wrote in message news:<cdo207$svr$...
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?
Avec std::stringstream: #include <sstream>
for (unsigned int i = 0 ; i < nbreFichiers ; i++) { std::ostringstream s; s << "file_" << i << ".txt"; std::string file = s.str(); ecrireFichier(file); }
Pour info, avec strstream il faut prendre un peu plus de précautions: for (unsigned int i = 0 ; i < nbreFichiers ; i++) { std::ostrstream s; s << "file_" << i << ".txt" << std::ends;// Marque la fin de chaîne
std::string file = s.str(); // str() retourne un char* // et te donne la responsabilité // de désallouer ce buffer.
s.rdbuf()->freeze(0); // Retourne au stream la // responsabilité du buffer. // Sans ca, (c.f. ton code) // tu as une fuite mémoire. ecrireFichier(file); }
Bertrand.
heinquoi
"Fanny Chevalier" a écrit dans le message de news:cdo207$svr$
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...
deja eu le probleme, strstream ne semble pas s'occuper du ' ' terminal des chaine de caractère ( normal c'est un flux!) m'on problème à ete résolu en rajoutant un ' ' à la fin du strstream pour pouvoir le reutilisé ensuite comme une chaine finissant par cela donne s << "file_" << i << ".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, de rien, j'espère avoir pu aidé !
-- Cordialement, Heinquoi
"Fanny Chevalier" <chevalie@labri.fr> a écrit dans le message de
news:cdo207$svr$1@news.u-bordeaux.fr...
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...
deja eu le probleme, strstream ne semble pas s'occuper du ' ' terminal des
chaine de caractère ( normal c'est un flux!)
m'on problème à ete résolu en rajoutant un ' ' à la fin du strstream pour
pouvoir le reutilisé ensuite comme une chaine finissant par
cela donne
s << "file_" << i << ".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,
de rien, j'espère avoir pu aidé !
"Fanny Chevalier" a écrit dans le message de news:cdo207$svr$
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...
deja eu le probleme, strstream ne semble pas s'occuper du ' ' terminal des chaine de caractère ( normal c'est un flux!) m'on problème à ete résolu en rajoutant un ' ' à la fin du strstream pour pouvoir le reutilisé ensuite comme une chaine finissant par cela donne s << "file_" << i << ".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, de rien, j'espère avoir pu aidé !
-- Cordialement, Heinquoi
heinquoi
-- Cordialement, Heinquoi "Spoofix" a écrit dans le message de news:cdo6sj$65v$
"Fanny Chevalier" a écrit dans le message de news:cdo207$svr$
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)
Mettre s << "file_" << i << ".txt"<<endl; ? endl ne met pas un caractère de fin de chaine, mais un caractère de retour
à la ligne. Cela semble fonctionner, mais en faite uniquement si ta fonction d'ouverture-creation fichier ne prend que la 1ere ligne. En essayant avec un cout pour afficher cette string tu auras des surprises...ta 1ere ligne seras bien mais tes smocks serons sur la ligne suivante. je te conseille donc un s << "file_" << i << ".txt" << ' '.
-- Cordialement, Heinquoi
--
Cordialement,
Heinquoi
"Spoofix" <xxx@xxx.xxx.invalid> a écrit dans le message de
news:cdo6sj$65v$1@apollon.grec.isp.9tel.net...
"Fanny Chevalier" <chevalie@labri.fr> a écrit dans le message de
news:cdo207$svr$1@news.u-bordeaux.fr...
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)
Mettre s << "file_" << i << ".txt"<<endl; ?
endl ne met pas un caractère de fin de chaine, mais un caractère de retour
à la ligne. Cela semble fonctionner, mais en faite uniquement si ta fonction
d'ouverture-creation fichier ne prend que la 1ere ligne. En essayant avec un
cout pour afficher cette string tu auras des surprises...ta 1ere ligne seras
bien mais tes smocks serons sur la ligne suivante.
je te conseille donc un
s << "file_" << i << ".txt" << ' '.
-- Cordialement, Heinquoi "Spoofix" a écrit dans le message de news:cdo6sj$65v$
"Fanny Chevalier" a écrit dans le message de news:cdo207$svr$
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)
Mettre s << "file_" << i << ".txt"<<endl; ? endl ne met pas un caractère de fin de chaine, mais un caractère de retour
à la ligne. Cela semble fonctionner, mais en faite uniquement si ta fonction d'ouverture-creation fichier ne prend que la 1ere ligne. En essayant avec un cout pour afficher cette string tu auras des surprises...ta 1ere ligne seras bien mais tes smocks serons sur la ligne suivante. je te conseille donc un s << "file_" << i << ".txt" << ' '.
-- Cordialement, Heinquoi
drkm
"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(' ').
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
comme il a été dit par ailleurs, et que j'ai oublié de préciser dans ma réponse. L'effet est s.put(' ').
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Loïc Joly
Fanny Chevalier wrote:
Si je me souviens bien, tu dois utiliser std::strstream::freeze() avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt que std::stringstream ?
#include <iomanip> #include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) { stringstream s ; s << "file_" << std::setw( 2 ) << i << ".txt" ; ecrireFichier( s.str() ) ; }
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Pas de raisons d'utiliser strstream : c'est ce que j'avais trouve sur le
net... J'ai remplace par des stringstream et ai ajoute ends, ca fonctionne tres bien.
Si tu as remplacé par stringstream, tu n'as pas besoin de ends. Je dirais même qu'il pourrait être faux de l'ajouter. Regarde par exemple la taille d'un "file_01.txt" obtenue par cette méthode et celle de la constante "file_01.txt".
-- Loïc
Fanny Chevalier wrote:
Si je me souviens bien, tu dois utiliser std::strstream::freeze()
avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec
std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt
que std::stringstream ?
#include <iomanip>
#include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) {
stringstream s ;
s << "file_" << std::setw( 2 ) << i << ".txt" ;
ecrireFichier( s.str() ) ;
}
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Pas de raisons d'utiliser strstream : c'est ce que j'avais trouve sur le
net...
J'ai remplace par des stringstream et ai ajoute ends, ca fonctionne tres
bien.
Si tu as remplacé par stringstream, tu n'as pas besoin de ends. Je
dirais même qu'il pourrait être faux de l'ajouter. Regarde par exemple
la taille d'un "file_01.txt" obtenue par cette méthode et celle de la
constante "file_01.txt".
Si je me souviens bien, tu dois utiliser std::strstream::freeze() avant d'accéder à la chaîne, ce dont tu n'as pas besoin avec std::stringstream. As-tu des raisons d'utiliser std::strstream plutôt que std::stringstream ?
#include <iomanip> #include <sstream>
for ( int i = 0 ; i < nbreFichiers ; ++ i ) { stringstream s ; s << "file_" << std::setw( 2 ) << i << ".txt" ; ecrireFichier( s.str() ) ; }
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Pas de raisons d'utiliser strstream : c'est ce que j'avais trouve sur le
net... J'ai remplace par des stringstream et ai ajoute ends, ca fonctionne tres bien.
Si tu as remplacé par stringstream, tu n'as pas besoin de ends. Je dirais même qu'il pourrait être faux de l'ajouter. Regarde par exemple la taille d'un "file_01.txt" obtenue par cette méthode et celle de la constante "file_01.txt".