Maison  >  Article  >  développement back-end  >  Comment pouvez-vous vérifier les chiffres dans les chaînes C et les pointeurs de caractères ?

Comment pouvez-vous vérifier les chiffres dans les chaînes C et les pointeurs de caractères ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 17:17:02123parcourir

How Can You Check for Digits in C   Strings and Char Pointers?

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!

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