Maison >développement back-end >C++ >Comment puis-je gérer gracieusement les entrées invalides en C ?
En C, la validation des entrées est cruciale pour gérer les entrées utilisateur inattendues ou incorrectes. Cela garantit que votre programme peut gérer divers scénarios d'entrée et évite les erreurs potentielles.
Considérez une situation dans laquelle votre programme demande un entier mais reçoit un caractère à la place. Pour éviter une boucle infinie provoquée par cette inadéquation, il est important d'effacer l'indicateur d'entrée incorrecte défini par std::cin et de supprimer l'entrée non valide.
// Clear bad input flag and discard invalid input while (std::cout << "Enter a number" && !(std::cin >> num)) { std::cin.clear(); // Clear bad input flag std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Discard input std::cout << "Invalid input; please re-enter.\n"; }
Cet extrait de code vérifie si l'opération d'entrée échoue, puis efface l'indicateur d'entrée incorrecte à l'aide de std::cin.clear() et supprime l'entrée non valide avec std::cin.ignore(). En effectuant une boucle jusqu'à ce qu'une entrée valide soit reçue, votre programme peut empêcher les boucles infinies et gérer les entrées invalides avec élégance.
Alternativement, vous pouvez capturer l'entrée sous forme de chaîne et la convertir en entier en utilisant std::stoi ou une autre méthode. qui permet la validation de la conversion. Cette approche offre une flexibilité dans la gestion d'une gamme de scénarios d'entrée.
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!