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