STRSPN |
Portée de chaîne |
---|---|
Langage C | string.h |
Syntaxe
int strspn(const char *str1,const char *str2); |
Paramètres
Nom | Description |
---|---|
str1 | Ce paramètre permet d'indiquer la chaîne de caractères ASCIZ de base. |
str2 | Ce paramètre permet d'indiquer la chaîne de caractères ASCIZ à calculer. |
Description
Cette fonction effectue le calcul de la longueur de la chaîne de caractères «str1» dans lequel sont compris des caractères de la chaîne de caractères «str2».
Remarques
- Comportement de la recherche : strspn parcourt str1 et, tant que les caractères de str1 sont présents dans str2, il continue à avancer. Dès qu'un caractère non présent dans str2 est rencontré, la fonction arrête la recherche et retourne la position de ce caractère dans str1. Cela permet de déterminer où se termine un segment valide d'une chaîne de caractères.
- Retour de la fonction : La fonction retourne un entier de type size_t, représentant le nombre de caractères consécutifs au début de str1 étant trouvés dans str2. Si aucun caractère de str1 n'est trouvé dans str2, la fonction retourne 0, ce qui indique qu'il n'y a pas de correspondance.
- Applications pratiques : strspn est souvent utilisée pour identifier les parties d'une chaîne de caractères contenant uniquement certains types de caractères. Par exemple, elle peut être utilisée pour déterminer la longueur d'une séquence de caractères blancs au début d'une chaîne de caractères (en passant un ensemble contenant les espaces et les tabulations comme str2).
- Sensible à la casse : Comme de nombreuses fonctions de comparaison de chaînes de caractères en C, strspn est sensible à la casse. Cela signifie que, par exemple, si str2 contient abc, un caractère 'A' dans str1 ne sera pas pris en compte comme une correspondance, même si l'on pourrait s'attendre à une correspondance basée sur une transformation de casse.
- Utilisation avec des ensembles complexes de caractères : strspn peut être très utile lorsqu'on travaille avec des ensembles complexes de caractères, comme les chiffres, les lettres, ou les symboles. Par exemple, si str2 contient les chiffres 0123456789, on peut l'utiliser pour trouver combien de chiffres consécutifs se trouvent au début de str1.
- Comportement avec des chaînes de caractères vides : Si str1 est une chaîne de caractères vide, strspn retournera immédiatement 0, car il n'y a pas de caractères à comparer. Si str2 est une chaîne de caractères vide, la fonction retournera également 0, car aucun caractère dans str1 ne peut être contenu dans un ensemble vide.
- Performance et complexité : La complexité de strspn est linéaire par rapport à la longueur de la chaîne de caractères str1, soit O(n), où n est la longueur de str1. Dans le pire des cas, la fonction doit parcourir tous les caractères de str1 jusqu'à ce qu'un caractère non valide soit trouvé. Cependant, si un grand nombre de caractères dans str1 sont valides, la fonction sera relativement rapide.
Voir également
Langage de programmation - C - Référence de procédures et fonctions - strcspn
Langage de programmation - C++ - Référence de procédures et fonctions - strspn
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 735.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 266.
Dernière mise à jour : Mardi, le 28 juillet 2015