C String
En langage C, les chaînes de caractères utilisent en réalité le caractère nul\0Le tableau de caractères unidimensionnel de fin. Par conséquent,\0est utilisé pour marquer la fin d'une chaîne.
Caractère nul) également appelé terminateur, abrégéNUL, est une valeur numérique de0caractère de contrôle,\0est un caractère d'échappement, ce qui signifie dire au compilateur que ce n'est pas un caractère0, mais plutôt un caractère nul.
La déclaration et l'initialisation suivantes créent uneEXAMPLEchaîne. Comme le caractère nul est stocké à la fin du tableau,\0, donc la taille du tableau de caractères est supérieure d'un à celle du motEXAMPLEnombre de caractères.
char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};
selon les règles d'initialisation de tableau, vous pouvez écrire l'instruction ci-dessus comme suit :
char site[] = "EXAMPLE";
Ce qui suit est la représentation en mémoire des chaînes définies en C/C++ :
En réalité, vous n'avez pas besoin de placernullLe caractère est placé à la fin de la constante de chaîne. Le compilateur C, lors de l'initialisation du tableau, ajoutera automatiquement\0à la fin de la chaîne. Essayons d'afficher la chaîne ci-dessus :
Exemple
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
Example: EXAMPLE
C dispose d'un grand nombre de fonctions pour manipuler les chaînes de caractères :
| Numéro de série | Fonction et objectif |
|---|---|
| 1 | strcpy(s1, s2); Copie la chaîne s2 dans la chaîne s1. |
| 2 | strcat(s1, s2); Concatène la chaîne s2 à la fin de la chaîne s1. |
| 3 | strlen(s1); Renvoie la longueur de la chaîne s1. |
| 4 | strcmp(s1, s2); Si s1 et s2 sont identiques, renvoie 0 ; si s1<s2, renvoie une valeur inférieure à 0 ; si s1>s2, renvoie une valeur supérieure à 0. |
| 5 | strchr(s1, ch); Renvoie un pointeur vers la première occurrence du caractère ch dans la chaîne s1. |
| 6 | strstr(s1, s2); Renvoie un pointeur vers la première occurrence de la chaîne s2 dans la chaîne s1. |
L'exemple suivant utilise certaines des fonctions ci-dessus :
Exemple
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
strcpy( str3, str1) : example strcat( str1, str2): examplegoogle strlen(str1) : 12
Vous pouvez trouver plus de fonctions liées aux chaînes de caractères dans la bibliothèque standard C.
autres extensions