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...
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.