OVH Cloud OVH Cloud

cin pour lire un ligne

5 réponses
Avatar
Ultimataupe
Y a t'il un moyen simple d'utiliser cin pour lire une ligne entiere avec
des espaces.

lorsqu'on fait un truc du genre:

string toto;
std::cout << "type a string" << std::endl;
std::cin >> toto;
std::cout << "you type the string :" << toto << std::endl;
cela donne
type a string
ledebut lasuite
you type the string :ledebut
Press any key to continue

comment faire pour recuperer toute la ligne d'un seul coup?
(le cin.getline ne me plait pas du tout car il faut allouer un tableau)

Suis obligé de me redefinir une classe qui fait des getc jusqu'au '\n' ?


Merci à tous.

5 réponses

Avatar
Falk Tannhäuser
Ultimataupe wrote:
Y a t'il un moyen simple d'utiliser cin pour lire une ligne entiere avec
des espaces.


Oui :
std::string line;
std::getline(std::cin, line);

Falk

Avatar
Jean-Marc Bourguet
Ultimataupe writes:

comment faire pour recuperer toute la ligne d'un seul coup?
(le cin.getline ne me plait pas du tout car il faut allouer un tableau)


std::getline (dans <string>)

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Ultimataupe
Ultimataupe wrote:

Y a t'il un moyen simple d'utiliser cin pour lire une ligne entiere
avec des espaces.



Oui :
std::string line;
std::getline(std::cin, line);

Falk
C'est exactement le genre de code que je cherchais.


Pour info il y a un bug sous Visual C++,du coup il faut taper 2 fois
sur Enter.

voila comment corriger
http://support.microsoft.com/default.aspx?scid=kb;en-us;240015

Merci beaucoup


Avatar
Ultimataupe
Ultimataupe wrote:

Y a t'il un moyen simple d'utiliser cin pour lire une ligne entiere
avec des espaces.



Oui :
std::string line;
std::getline(std::cin, line);

Falk
C'est exactement le genre de code que je cherchais.


Pour info il y a un bug sous Visual C++,du coup il faut taper 2 fois
sur Enter.

voila comment corriger
http://support.microsoft.com/default.aspx?scid=kb;en-us;240015

Merci beaucoup


Avatar
Ultimataupe
Ultimataupe wrote:

Y a t'il un moyen simple d'utiliser cin pour lire une ligne entiere
avec des espaces.



Oui :
std::string line;
std::getline(std::cin, line);

Falk


C'est exactement le genre de code que je cherchais.

Pour info il y a un bug sous Visual C++,du coup il faut taper 2 fois
sur Enter.

voila comment corriger
http://support.microsoft.com/default.aspx?scid=kb;en-us;240015

Merci beaucoup