#include <string.h> // <cstring> en C++
size_t strspn( const char * string, const char * acceptedCharacters );
Renvoie la longueur de la plus grande sous-chaîne (en partant du début de la chaîne initiale) ne contenant que des caractères spécifiés dans la liste des caractères acceptés.
Renvoie la longueur de la plus grande sous-chaîne (en partant du début de la chaîne initiale) ne contenant que des caractères acceptés.
Voici un exemple d'utilisation de la fonction strspn
permettant de récupérer une clé (constituée de lettres) dans un identifiant complexe.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { // Un identifiant est constitué d'une clé (ne comportant que // des lettres) puis d'un code numérique (que des chiffres). char * identifier = "spy007"; // On veut récupérer la clé (sans le code numérique). char * acceptedChars = "abcdefghijklmnopqrstuvwxyz"; int pos = strspn( identifier, acceptedChars ); // On récupère la partie clé char key[ pos + 1 ]; strncpy( key, identifier, pos ); key[pos] = '\0'; // On affiche les informations obtenues printf( "Key: %s - Code: %s\n", key, identifier+pos ); return EXIT_SUCCESS; } |
Et voici le résultat produit par cet exemple :
$> gcc -o sample sample.c $> ./sample Key: spy - Code: 007 $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :