equivalent of Console.ReadLine() in c++

AntoineLev picture AntoineLev · Oct 9, 2012 · Viewed 60.4k times · Source

screenshot My teacher just gave me an assignment in c++ and I am trying to get a string with scanf but it only get the last characters typed. Can anyone help me please? I am looking for the equivalent of console.readline() in c++.

edit : I must also be able to store the value through a pointer.

so the picture show the code currently runnign in the background and it should have stoped at No assurance maladie : and waited for an input but it skipped it.

getline(cin, ptrav->nam); works but it skip a line for some reason...

Answer

David Heffernan picture David Heffernan · Oct 9, 2012

You are looking for std::getline(). For example:

#include <string>
std::string str;
std::getline(std::cin, str);

I've little idea what you mean when you say I must also be able to store the value through a pointer.

Update: Looking at your updated question, I can imagine what is happening. The code that reads the choice, i.e. the number 1, 2, etc. is not reading the newline. Then you call getline which consumes the newline. And then you call getline again which fetches the string.