Maison >développement back-end >C++ >Comment vérifier le contenu des caractères numériques dans les chaînes C et les variables char* ?

Comment vérifier le contenu des caractères numériques dans les chaînes C et les variables char* ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 03:04:29961parcourir

How to Check for Numeric Character Content in C   Strings and char* Variables?

Vérification du contenu des caractères numériques dans les chaînes C et les variables char*

Lorsque vous travaillez avec des chaînes en C, il est souvent nécessaire de déterminer si une séquence de caractères donnée ne contient que des chiffres numériques. Ceci peut être réalisé en utilisant différentes méthodes, chacune avec ses propres avantages et inconvénients.

Pour les objets std::string, une approche consiste à utiliser la fonction std::find_first_not_of(). Cette fonction recherche le premier caractère de la chaîne qui ne correspond à aucun des caractères spécifiés dans son entrée. En passant une chaîne contenant uniquement les caractères numériques (par exemple, "0123456789"), nous pouvons déterminer si la chaîne d'entrée contient des caractères non numériques.

<code class="cpp">bool is_digits(const std::string &str) {
    return str.find_first_not_of("0123456789") == std::string::npos;
}</code>

Alternativement, pour les deux std:: string et char*, nous pouvons utiliser la fonction std::all_of(). Cette fonction prend une plage d'éléments et un prédicat (une fonction qui renvoie une valeur booléenne pour chaque élément). En appliquant le prédicat ::isdigit(), qui renvoie vrai pour les caractères numériques, nous pouvons vérifier si tous les caractères de la séquence satisfont à cette condition.

<code class="cpp">bool is_digits(const std::string &str) {
    return std::all_of(str.begin(), str.end(), ::isdigit); // C++11
}</code>

Ces méthodes fournissent des moyens efficaces de vérifier le contenu des caractères numériques. dans les variables std::string et char*. Le choix de l'approche dépend des exigences spécifiques et des préférences du développeur.

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