"Cyrille" a écrit dans le message de news:46894db1$0$21150$
Pardonnez moi d'avance, je sais que le sujet à déjà été abordé, mais j'ai du
mal à comprendre.
Quelle procédure employer pour effacer le contenu d'un ostringstrem ?
ostringstream oss; (...) oss.str(""); // défini le contenu à "", donc le vide.
Merci.
James Kanze
On Jul 3, 11:02 am, "Ael Rowan Terence" wrote:
"James Kanze" a écrit dans le message denews:11 On Jul 2, 9:13 pm, Cyrille wrote:
Et ça serait quel contexte ? Si on veut un nouveau flux, la
Mais la question n'était pas "comment faire pour obtenir un nouveau flux ?" Mais bien comment faire pour effacer un ostringstream.
Mais ça veut dire quoi, effacer un ostringstream ?
façon la plus simple et la plus naturelle d'en obtenir un, c'est d'en prendre un nouveau, et non d'essayer de réutiliser un ancien dont on ne connaît pas trop l'état.
L'état, en l'occurence, je suis sensé le connaitre.
Pourquoi, et comment ?
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
On Jul 3, 11:02 am, "Ael Rowan Terence" <N...@Null.fr> wrote:
"James Kanze" <james.ka...@gmail.com> a écrit dans le message denews:11 83447431.870092.49680@w5g2000hsg.googlegroups.com...
On Jul 2, 9:13 pm, Cyrille <cyri...@frsf.invalid> wrote:
Et ça serait quel contexte ? Si on veut un nouveau flux, la
Mais la question n'était pas "comment faire pour obtenir un
nouveau flux ?" Mais bien comment faire pour effacer un
ostringstream.
Mais ça veut dire quoi, effacer un ostringstream ?
façon la plus simple et la plus naturelle d'en obtenir un, c'est
d'en prendre un nouveau, et non d'essayer de réutiliser un
ancien dont on ne connaît pas trop l'état.
L'état, en l'occurence, je suis sensé le connaitre.
Pourquoi, et comment ?
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
"James Kanze" a écrit dans le message denews:11 On Jul 2, 9:13 pm, Cyrille wrote:
Et ça serait quel contexte ? Si on veut un nouveau flux, la
Mais la question n'était pas "comment faire pour obtenir un nouveau flux ?" Mais bien comment faire pour effacer un ostringstream.
Mais ça veut dire quoi, effacer un ostringstream ?
façon la plus simple et la plus naturelle d'en obtenir un, c'est d'en prendre un nouveau, et non d'essayer de réutiliser un ancien dont on ne connaît pas trop l'état.
L'état, en l'occurence, je suis sensé le connaitre.
Pourquoi, et comment ?
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Ael Rowan Terence
"James Kanze" a écrit dans le message de news: On Jul 3, 11:02 am, "Ael Rowan Terence" wrote:
Mais ça veut dire quoi, effacer un ostringstream ?
L'état, en l'occurence, je suis sensé le connaitre. Pourquoi, et comment ?
Parce que l'ostringstream ne va pas, de lui même, changer d'état .
Je veux juste, grosso modo, l'utiliser quasiment aussi simplement que l'exemple donné plus haut.
"James Kanze" <james.kanze@gmail.com> a écrit dans le message de
news:1183469186.313483.80520@w5g2000hsg.googlegroups.com...
On Jul 3, 11:02 am, "Ael Rowan Terence" <N...@Null.fr> wrote:
Mais ça veut dire quoi, effacer un ostringstream ?
L'état, en l'occurence, je suis sensé le connaitre. Pourquoi, et comment ?
Parce que l'ostringstream ne va pas, de lui même, changer d'état .
Je veux juste, grosso modo, l'utiliser quasiment aussi simplement que l'exemple donné plus haut.
ostringstream oss;
... //remettre a zero oss = ostringstream();
ca le ferait pas ça?
"James Kanze" <james.kanze@gmail.com> a écrit dans le message de
news:1183469186.313483.80520@w5g2000hsg.googlegroups.com...
On Jul 3, 11:02 am, "Ael Rowan Terence" <N...@Null.fr> wrote:
Mais ça veut dire quoi, effacer un ostringstream ?
Ce n'est pas vraiment ce que j'entends par « effacer », mais ce n'était pas ma question. Ma question, c'est ce que tu entendais par effacer. Remettre à son état initial ? Vider la chaîne, sans changer quoique ce soit d'autre ? Vider la chaîne et en libérer la mémoire qui lui est associée ?
On efface les éléments dans une collection, parce que la norme a choisi ce mot (l'anglais « erase ») pour le faire, mais même là, je trouve qu'il ne convient pas réelement. Par extension, dans un flux, on pourrait effacer le contenu (mais en général, ce n'est pas supporter), l'état (plus d'erreur), les paramètres du formattage, la liaison avec le streambuf, etc., etc. Un flux, c'est plus complexe qu'une collection, et il y a beaucoup de choses qu'on pourrait y effacer. Et dans un sens réel, les données qu'on y a écrit n'en font pas partie ; une fois écrites, elles sont ailleurs. C'est l'abstraction d'un flux.
L'état, en l'occurence, je suis sensé le connaitre. Pourquoi, et comment ?
Parce que l'ostringstream ne va pas, de lui même, changer d'état .
Certaines parties, peut-être bien. Mais surtout, en programmation, c'est bien que tu ne sois pas obligé à tenir compte de tout ce qui s'est passé ailleurs, à tout instant.
Je veux juste, grosso modo, l'utiliser quasiment aussi simplement que l'exemple donné plus haut.
Dans quel but, c'est ça ma question. Pourquoi est-ce que l'utilisation d'un nouveau flux ne te convient pas ? C'est quand même la solution « naturelle ».
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
On Jul 3, 3:49 pm, "Ael Rowan Terence" <N...@Null.fr> wrote:
"James Kanze" <james.ka...@gmail.com> a écrit dans le message denews:11 83469186.313483.80520@w5g2000hsg.googlegroups.com...
On Jul 3, 11:02 am, "Ael Rowan Terence" <N...@Null.fr> wrote:
Mais ça veut dire quoi, effacer un ostringstream ?
Ce n'est pas vraiment ce que j'entends par « effacer », mais
ce n'était pas ma question. Ma question, c'est ce que tu
entendais par effacer. Remettre à son état initial ? Vider la
chaîne, sans changer quoique ce soit d'autre ? Vider la chaîne
et en libérer la mémoire qui lui est associée ?
On efface les éléments dans une collection, parce que la norme a
choisi ce mot (l'anglais « erase ») pour le faire, mais même
là, je trouve qu'il ne convient pas réelement. Par extension,
dans un flux, on pourrait effacer le contenu (mais en général,
ce n'est pas supporter), l'état (plus d'erreur), les paramètres
du formattage, la liaison avec le streambuf, etc., etc. Un flux,
c'est plus complexe qu'une collection, et il y a beaucoup de
choses qu'on pourrait y effacer. Et dans un sens réel, les
données qu'on y a écrit n'en font pas partie ; une fois
écrites, elles sont ailleurs. C'est l'abstraction d'un flux.
L'état, en l'occurence, je suis sensé le connaitre.
Pourquoi, et comment ?
Parce que l'ostringstream ne va pas, de lui même, changer d'état .
Certaines parties, peut-être bien. Mais surtout, en
programmation, c'est bien que tu ne sois pas obligé à tenir
compte de tout ce qui s'est passé ailleurs, à tout instant.
Je veux juste, grosso modo, l'utiliser quasiment aussi
simplement que l'exemple donné plus haut.
Dans quel but, c'est ça ma question. Pourquoi est-ce que
l'utilisation d'un nouveau flux ne te convient pas ? C'est
quand même la solution « naturelle ».
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Ce n'est pas vraiment ce que j'entends par « effacer », mais ce n'était pas ma question. Ma question, c'est ce que tu entendais par effacer. Remettre à son état initial ? Vider la chaîne, sans changer quoique ce soit d'autre ? Vider la chaîne et en libérer la mémoire qui lui est associée ?
On efface les éléments dans une collection, parce que la norme a choisi ce mot (l'anglais « erase ») pour le faire, mais même là, je trouve qu'il ne convient pas réelement. Par extension, dans un flux, on pourrait effacer le contenu (mais en général, ce n'est pas supporter), l'état (plus d'erreur), les paramètres du formattage, la liaison avec le streambuf, etc., etc. Un flux, c'est plus complexe qu'une collection, et il y a beaucoup de choses qu'on pourrait y effacer. Et dans un sens réel, les données qu'on y a écrit n'en font pas partie ; une fois écrites, elles sont ailleurs. C'est l'abstraction d'un flux.
L'état, en l'occurence, je suis sensé le connaitre. Pourquoi, et comment ?
Parce que l'ostringstream ne va pas, de lui même, changer d'état .
Certaines parties, peut-être bien. Mais surtout, en programmation, c'est bien que tu ne sois pas obligé à tenir compte de tout ce qui s'est passé ailleurs, à tout instant.
Je veux juste, grosso modo, l'utiliser quasiment aussi simplement que l'exemple donné plus haut.
Dans quel but, c'est ça ma question. Pourquoi est-ce que l'utilisation d'un nouveau flux ne te convient pas ? C'est quand même la solution « naturelle ».
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34