#include <string.h> // <cstring> en C++
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.
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.
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; } |
Et voici le résultat produit par cet exemple :
$> gcc -o sample sample.c $> ./sample Key: spy - Code: 7 $>
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 :