Maison > Article > développement back-end > Comment vérifier si une chaîne C représente un entier ?
Vérifier si une chaîne C est un entier
Dans certaines situations, comme lors du traitement des entrées de l'utilisateur, il peut être nécessaire de faire la différence entre les chaînes qui représentent des entiers et celles qui ne le font pas. Heureusement, il existe plusieurs façons d'accomplir cette tâche en C.
Une approche consiste à exploiter la fonction C strtol, qui convertit une représentation sous forme de chaîne d'un entier en une valeur entière. Pour utiliser strtol, vous pouvez écrire une fonction simple qui encapsule le processus de conversion :
<code class="cpp">inline bool isInteger(const std::string &s) { if (s.empty() || ((!isdigit(s[0])) && (s[0] != '-') && (s[0] != '+'))) return false; char *p; strtol(s.c_str(), &p, 10); return (*p == 0); }</code>
Cette fonction fournit un moyen fiable de déterminer si une chaîne donnée peut être analysée comme un entier. En l'incorporant dans votre code, vous pouvez gérer de manière appropriée les chaînes représentant des entiers et des non-entiers.
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!