web-dev-qa-db-fra.com

équivalent de Console.ReadLine () en c ++

screenshot Mon professeur vient de me donner un devoir en c ++ et j'essaie d'obtenir une chaîne avec scanf mais il ne fait que taper les derniers caractères. Quelqu'un peut-il m'aider s'il-vous-plaît? Je cherche l'équivalent de console.readline () en c ++.

edit: je dois aussi pouvoir stocker la valeur via un pointeur.

donc l'image montre le code actuellement runnign en arrière-plan et il aurait dû s'arrêter à No assurance maladie: et attendre une entrée mais il l'a sautée.

getline (cin, ptrav-> nam); fonctionne mais il saute une ligne pour une raison quelconque ...

16
AntoineLev

Vous recherchez std::getline(). Par exemple:

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

J'ai peu d'idée de ce que tu veux dire quand tu dis Je dois aussi pouvoir stocker la valeur via un pointeur .

pdate: En regardant votre question mise à jour, je peux imaginer ce qui se passe. Le code qui lit le choix, c'est-à-dire le numéro 1, 2, etc. ne lit pas la nouvelle ligne. Ensuite, vous appelez getline qui consomme la nouvelle ligne. Et puis vous appelez à nouveau getline qui récupère la chaîne.

32
David Heffernan