compter le nombre de lignes dans un std::ostringstream

Le
MGN
Bonsoir,
la question est dans l'objet.

Sur une std::string, on peut faire par exemple
int lines;
std::count(x.begin(),x.end(),'',lines);

Y-a-t-il une méthode simple équivalente ?
Merci à vous
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mickaël Wolff
Le #21536951
MGN a écrit :
Bonsoir,
la question est dans l'objet.



De quel objet parles-tu ?

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Michael Doubez
Le #21537701
On 12 avr, 02:16, Mickaël Wolff
MGN a écrit :

> la question est dans l'objet.

   De quel objet parles-tu ?



Objet: " compter le nombre de lignes dans un std::ostringstream "

Je suppose que la question est: comment compter le nombre de ligned
dans un ostringstream sans demander la string par str() ?

Je ne suis pas sûr qu'il y ait une solution portable.

--
Michael
MGN
Le #21543191
Je suppose que la question est: comment compter le nombre de ligned
dans un ostringstream sans demander la string par str() ?


oui, c'est çà.
Je ne suis pas sûr qu'il y ait une solution portable.


Je trouve que les classes de flux forment une véritable usine à gaz.
Si je ne les ai pas utilisées pendant 2 mois, j'ai oublié toutes les
subtilités, syntaxiques et hiérarchiques (un peu comme les locale !)
Et pour la performance, si mon std::ostringstream est gros, je ne suis pas
emballé de passer par une std::string.
Merci à vous quand même.
Michael Doubez
Le #21544121
On 13 avr, 00:45, "MGN"
> Je suppose que la question est: comment compter le nombre de ligned
> dans un ostringstream sans demander la string par str() ?
oui, c'est çà.
> Je ne suis pas sûr qu'il y ait une solution portable.

Je trouve que les classes de flux forment une véritable usine à gaz.
Si je ne les ai pas utilisées pendant 2 mois, j'ai oublié toutes les
subtilités, syntaxiques et hiérarchiques (un peu comme les locale !)
Et pour la performance, si mon std::ostringstream est gros, je ne suis pa s
emballé de passer par une std::string.
Merci à vous quand même.



Si tu as le control de la création de la stream, tu peux utiliser une
technique comme le EventGeneratingStream de James Kanze:
http://kanze.james.neuf.fr/doc/en/IO/html/classGabiNS_1_1EventGeneratingOSt ream.html

--
Michael
Mickaël Wolff
Le #21546421
Michael Doubez a écrit :

Objet: " compter le nombre de lignes dans un std::ostringstream "



C'est marrant, moi j'ai ça dans le champ « Sujet » de mon MUA.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
James Kanze
Le #21558301
On Apr 12, 8:40 am, Michael Doubez
On 12 avr, 02:16, Mickaël Wolff
> MGN a écrit :

> > la question est dans l'objet.

> De quel objet parles-tu ?

Objet: " compter le nombre de lignes dans un std::ostringstream "

Je suppose que la question est: comment compter le nombre de ligned
dans un ostringstream sans demander la string par str() ?

Je ne suis pas sûr qu'il y ait une solution portable.



La question est, en effet, mal formulée. Pour commencer,
conceptuellement, un ostream est un flux. Il ne contient rien;
on lui a envoyé des données. Ensuite, évidemment, si c'est un
ostringstream, ce qu'on a envoyé se trouve dans le string qu'on
peut en obtenir ; si c'est un ofstream, les données se trouvent
dans un fichier (au moins qu'elles soient affichées sur
l'écran), et ainsi de suite.

Si le but, c'est de pouvoir afficher par la suite des
statistiques sur ce qu'on a fait, un streambuf filtrant
permettrait bien de collectionner les statistiques (et ça,
quelque soit le type de ostream). Mais avant de pouvoir répondre
plus précisement, il faudrait savoir la question.

--
James Kanze
Publicité
Poster une réponse
Anonyme