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* ?
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!