Rechercher
 

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 :

Fonction strcspn

La fonction strcpy La fonction strdup


Entête à inclure

#include <string.h>  // <cstring> en C++

Fonction strcspn

size_t strcspn( const char * string, const char * rejectedCharacters );

Renvoie la longueur de la plus grande sous-chaîne (en partant du début de la chaîne initiale) ne contenant aucun des caractères spécifiés dans la liste des caractères en rejet.

cette fonction s'oppose à la fonction strspn qui, elle, 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 présents dans une liste des caractères autorisés.

Paramètres

Valeur de retour

Renvoie la longueur de la plus grande sous-chaîne (en partant du début de la chaîne initiale) ne contenant aucun des caractères présents dans la liste des charactères en rejet.

Exemple de code

 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 
 26 
 27 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main() {

    // Un identifiant est constitué d'un certain nombre de lettres
    // puis de chiffres.
    char * identifier = "spy007";

    // On cherche à savoir ou commence la partie numérique
    char * digits = "1234567890";
    int pos = strcspn( identifier, digits );

    // On récupère la partie clé
    char key[ pos + 1 ];
    strncpy( key, identifier, pos );

    // On récupère le code numérique
    int code = atoi( identifier + pos );

    // On affiche les informations obtenues
    printf( "Key: %s - Code: %d\n", key, code );

    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction strcspn

Et voici le résultat produit par cet exemple :

$> gcc -o sample sample.c
$> ./sample
Key: spy - Code: 7
$>

Sujets connexes

strchr
strpbrk
strrchr
strspn
strstr


La fonction strcpy La fonction strdup