OVH Cloud OVH Cloud

lecture de double dans fichier

2 réponses
Avatar
Nicolas Aunai
juste une petite question concernant la lecture dans un fichier... j'ai
un fichier texte simple comme ça :

12.1
13.4
22.2
9.992

etc...

un nombre par ligne..

j'ai vu dans la faq qu'il y avait cin.getline pour lire ligne par
ligne, mais je pige pas comment récupérer mes nombres en tant que
double pour les manipuler ensuite, par exemple mettre chaque nombre
dans un double tab[]

merci

--
Nico,
http://astrosurf.com/nicoastro
messenger : nicolas_aunai@hotmail.com

2 réponses

Avatar
Manuel
juste une petite question concernant la lecture dans un fichier... j'ai
un fichier texte simple comme ça :

12.1
13.4
22.2
9.992

etc...

un nombre par ligne..

j'ai vu dans la faq qu'il y avait cin.getline pour lire ligne par
ligne, mais je pige pas comment récupérer mes nombres en tant que
double pour les manipuler ensuite, par exemple mettre chaque nombre
dans un double tab[]

merci

--
Nico,
http://astrosurf.com/nicoastro
messenger :



une solution simple :

std::vector<double> tab;
std::copy(
std::istream_iterator<double>(std::cin),
std::istream_iterator<double>(),
std::back_inserter(tab));

--

- Manuel
to reply, swap the name with the domain.

Avatar
James Kanze
"Manuel" writes:

|> > juste une petite question concernant la lecture dans un fichier...
|> > j'ai un fichier texte simple comme ça :

|> > 12.1
|> > 13.4
|> > 22.2
|> > 9.992

|> > etc...

|> > un nombre par ligne..

|> > j'ai vu dans la faq qu'il y avait cin.getline pour lire ligne par
|> > ligne, mais je pige pas comment récupérer mes nombres en
|> > tant que double pour les manipuler ensuite, par exemple mettre
|> > chaque nombre dans un double tab[]

|> une solution simple :

|> std::vector<double> tab;
|> std::copy(
|> std::istream_iterator<double>(std::cin),
|> std::istream_iterator<double>(),
|> std::back_inserter(tab));

Encore plus simple :

std::vector< dobule > tab(
(std::istream_iterator< double >( std::cin )),
(std::istream_iterator< double >()) ) ;

À condition d'avoir un compilateur et une bibliothèque à jour,
et d'être assez lâche en ce qui concerne la gestion des erreurs.

--
James Kanze mailto:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93