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 ?

Comment déterminer si une chaîne ou un tableau de caractères contient uniquement des chiffres en C ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 17:21:03219parcourir

How to Determine if a String or Character Array Contains Only Digits in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn