Maison > Article > développement back-end > Pourquoi `getline()` provoque-t-il un retard d'entrée lorsqu'il est utilisé à plusieurs reprises ?
getline() arrête le délai d'entrée lorsqu'il est invoqué à plusieurs reprises
Lorsque vous travaillez avec la saisie utilisateur, des divergences peuvent survenir entre l'utilisation de getline() plusieurs fois. Ce problème empêche les utilisateurs de saisir une entrée valide, les laissant confus.
Dans le code fourni, getline() est utilisé à côté de l'opérateur >>. Pendant que>> ignore les espaces de début, il ne parvient pas à absorber les caractères « n » de fin. Par conséquent, lorsque getline() est utilisé après >>, il se comporte de manière inattendue.
Pour résoudre ce problème, il est crucial de sélectionner une seule méthode de saisie et de la respecter tout au long du programme. Dans les cas où des chiffres sont impliqués, utilisez uniquement l'opérateur >>. Cependant, lorsque vous traitez des chaînes ou un mélange de types de données, respectez getline() et extrayez les nombres nécessaires des chaînes d'entrée.
Voici un ajustement du code utilisant uniquement getline() :
std::string line;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!