Maison > Article > développement back-end > Comment déterminer si une chaîne ou un tableau de caractères contient uniquement des chiffres en C ?
Détermination de la numéricité des chaînes et des tableaux de caractères
En C , vérifier si une chaîne ou un tableau de caractères (char*) comprend exclusivement des caractères numériques est une exigence commune. Explorons deux méthodes fiables :
Méthode 1 : find_first_not_of()
Cette méthode utilise la fonction find_first_not_of(), qui recherche la première occurrence d'un caractère autre qu'un chiffre. . Si aucun caractère de ce type n'est trouvé, il renvoie std::string::npos, signifiant la présence uniquement de chiffres :
<code class="cpp">bool is_digits(const std::string &str) { return str.find_first_not_of("0123456789") == std::string::npos; }</code>
Méthode 2 : std::all_of()
Cette méthode exploite la fonction std::all_of(), qui vérifie si tous les éléments d'une plage satisfont à un prédicat donné. Dans ce cas, le prédicat est ::isdigit, qui renvoie vrai pour les caractères numériques :
<code class="cpp">bool is_digits(const std::string &str) { return std::all_of(str.begin(), str.end(), ::isdigit); // C++11 }</code>
Comparaison des chaînes et des tableaux de caractères
Les deux méthodes sont également applicables aux chaînes et aux tableaux de caractères. Cependant, les tableaux de caractères nécessitent une conversion explicite en chaînes avant d'utiliser les fonctions membres std::string.
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!