sauf que je ne souhaite pas de l'espace comme séquence de fin mais un '\n'.
Quel est le moyen le plus simple pour stoker directement les lignes
provenant de cin ?
Merci.
"James Kanze" a écrit dans le message de news: 42eb2df0$0$18620$
Pourquoi pas démander alors quelle est la façon la plus simple de lire des doubles avec un istream_iterator<int>. Si tu veux les lignes, ça me semble évident qu'il faut utiliser un istream_iterator<Line>, et non un istream_iterator<string>.
La prochaine fois, je te demanderai de formuler la question :-) Plus sérieusement, je pensais qu'il était possible d'utiliser un manipulateur quelconque sur cin pour parvenir au resultat escompté ( genre "ignore" ).
-- -Stan
"James Kanze" <kanze@none> a écrit dans le message de news:
42eb2df0$0$18620$626a14ce@news.free.fr...>
Pourquoi pas démander alors quelle est la façon la plus simple
de lire des doubles avec un istream_iterator<int>. Si tu veux
les lignes, ça me semble évident qu'il faut utiliser un
istream_iterator<Line>, et non un istream_iterator<string>.
La prochaine fois, je te demanderai de formuler la question :-)
Plus sérieusement, je pensais qu'il était possible d'utiliser un
manipulateur
quelconque sur cin pour parvenir au resultat escompté ( genre "ignore" ).
"James Kanze" a écrit dans le message de news: 42eb2df0$0$18620$
Pourquoi pas démander alors quelle est la façon la plus simple de lire des doubles avec un istream_iterator<int>. Si tu veux les lignes, ça me semble évident qu'il faut utiliser un istream_iterator<Line>, et non un istream_iterator<string>.
La prochaine fois, je te demanderai de formuler la question :-) Plus sérieusement, je pensais qu'il était possible d'utiliser un manipulateur quelconque sur cin pour parvenir au resultat escompté ( genre "ignore" ).
-- -Stan
kanze
Stan ( remove the dots ) wrote:
"James Kanze" a écrit dans le message de news: 42eb2df0$0$18620$
Pourquoi pas démander alors quelle est la façon la plus simple de lire des doubles avec un istream_iterator<int>. Si tu veux les lignes, ça me semble évident qu'il faut utiliser un istream_iterator<Line>, et non un istream_iterator<string>.
La prochaine fois, je te demanderai de formuler la question :-)
Sorry. J'ai oublié un :-) moi-même. C'était un peu de ironie, pour essayer de faire passer mon point : qu'est-ce que c'est la syntax d'un std::string ?
Plus sérieusement, je pensais qu'il était possible d'utiliser un manipulateur quelconque sur cin pour parvenir au resultat escompté ( genre "ignore" ).
On aurait pû imaginer un manipulateur pour définir les critères de découpe d'un flux en std::string. On aurait aussi pû imaginer que setw fonctionnait sur les entrées, pour par exemple, découper une chaîne comme 20050731 en trois entiers, de quatre, de deux et de deux chiffres chacun. On aurait pû en fait imaginer beaucoup de choses. Ce qui est en fait le problème : on arrive à en vouloir trop pour que ça tient dans la norme.
Dans la pratique, je crois qu'on peut dire que les itérateurs de flux sont à peu près inutiles -- ils servent surtout à montrer comment on peut tromper le concepte d'itérateur quand il n'y a pas réelement une collection derrière. (En fait, il y a quelque cas où ils pourraient servir si on se sert d'un istream filtrant aussi.) Plus généralement, les operator>> sont d'une utilité assez limitée -- il faut prèsque toujours faire une bonne partie du parsage soi-même. En lisant avec getline, si le format est orienté ligne.
-- James Kanze GABI Software 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
Stan ( remove the dots ) wrote:
"James Kanze" <kanze@none> a écrit dans le message de news:
42eb2df0$0$18620$626a14ce@news.free.fr...>
Pourquoi pas démander alors quelle est la façon la plus
simple de lire des doubles avec un istream_iterator<int>. Si
tu veux les lignes, ça me semble évident qu'il faut utiliser
un istream_iterator<Line>, et non un
istream_iterator<string>.
La prochaine fois, je te demanderai de formuler la question :-)
Sorry. J'ai oublié un :-) moi-même. C'était un peu de ironie,
pour essayer de faire passer mon point : qu'est-ce que c'est la
syntax d'un std::string ?
Plus sérieusement, je pensais qu'il était possible d'utiliser
un manipulateur quelconque sur cin pour parvenir au resultat
escompté ( genre "ignore" ).
On aurait pû imaginer un manipulateur pour définir les critères
de découpe d'un flux en std::string. On aurait aussi pû imaginer
que setw fonctionnait sur les entrées, pour par exemple,
découper une chaîne comme 20050731 en trois entiers, de quatre,
de deux et de deux chiffres chacun. On aurait pû en fait
imaginer beaucoup de choses. Ce qui est en fait le problème : on
arrive à en vouloir trop pour que ça tient dans la norme.
Dans la pratique, je crois qu'on peut dire que les itérateurs de
flux sont à peu près inutiles -- ils servent surtout à montrer
comment on peut tromper le concepte d'itérateur quand il n'y a
pas réelement une collection derrière. (En fait, il y a quelque
cas où ils pourraient servir si on se sert d'un istream filtrant
aussi.) Plus généralement, les operator>> sont d'une utilité
assez limitée -- il faut prèsque toujours faire une bonne partie
du parsage soi-même. En lisant avec getline, si le format est
orienté ligne.
--
James Kanze GABI Software
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 de news: 42eb2df0$0$18620$
Pourquoi pas démander alors quelle est la façon la plus simple de lire des doubles avec un istream_iterator<int>. Si tu veux les lignes, ça me semble évident qu'il faut utiliser un istream_iterator<Line>, et non un istream_iterator<string>.
La prochaine fois, je te demanderai de formuler la question :-)
Sorry. J'ai oublié un :-) moi-même. C'était un peu de ironie, pour essayer de faire passer mon point : qu'est-ce que c'est la syntax d'un std::string ?
Plus sérieusement, je pensais qu'il était possible d'utiliser un manipulateur quelconque sur cin pour parvenir au resultat escompté ( genre "ignore" ).
On aurait pû imaginer un manipulateur pour définir les critères de découpe d'un flux en std::string. On aurait aussi pû imaginer que setw fonctionnait sur les entrées, pour par exemple, découper une chaîne comme 20050731 en trois entiers, de quatre, de deux et de deux chiffres chacun. On aurait pû en fait imaginer beaucoup de choses. Ce qui est en fait le problème : on arrive à en vouloir trop pour que ça tient dans la norme.
Dans la pratique, je crois qu'on peut dire que les itérateurs de flux sont à peu près inutiles -- ils servent surtout à montrer comment on peut tromper le concepte d'itérateur quand il n'y a pas réelement une collection derrière. (En fait, il y a quelque cas où ils pourraient servir si on se sert d'un istream filtrant aussi.) Plus généralement, les operator>> sont d'une utilité assez limitée -- il faut prèsque toujours faire une bonne partie du parsage soi-même. En lisant avec getline, si le format est orienté ligne.
-- James Kanze GABI Software 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