Vérification des chiffres dans les chaînes C et les pointeurs de caractères
Déterminer si un pointeur de chaîne ou de caractère contient uniquement des caractères numériques est une tâche courante en programmation . C propose plusieurs façons d'effectuer cette vérification, applicables à la fois à std::string et à char*.
Méthode basée sur une chaîne
Pour vérifier si une std::string ne contient que des chiffres, vous pouvez utiliser la fonction find_first_not_of(). Cette fonction renvoie la position du premier caractère qui ne correspond pas au jeu de caractères spécifié. Si la fonction renvoie std::string::npos, cela indique qu'aucun caractère autre que des chiffres n'a été trouvé et que la chaîne ne contient donc que des chiffres.
<code class="cpp">bool is_digits(const std::string &str) { return str.find_first_not_of("0123456789") == std::string::npos; }</code>
Méthode basée sur le pointeur de char
Pour un pointeur de caractère, vous pouvez utiliser la fonction std::all_of() avec la fonction ::isdigit pour vérifier si tous les caractères du pointeur sont des chiffres. La fonction ::isdigit renvoie vrai si le caractère est un chiffre (0-9), et faux sinon.
<code class="cpp">bool is_digits(const char* str) { return std::all_of(str, str + strlen(str), ::isdigit); // C++11 }</code>
Notez que les deux méthodes supposent que la chaîne d'entrée ou le pointeur de caractère est une séquence de caractères ASCII. . Si des caractères non-ASCII sont attendus, des modifications appropriées peuvent être nécessaires.
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!