Longueur de chaîne en langue C

Longueur de chaîne en langue C
Une chaîne en langue C est un tableau de caractères qui est terminé avec un caractère nul (\ 0). La longueur de chaîne est le nombre de caractères dans une chaîne. Dans la longueur de chaîne '\ 0,' un caractère n'est pas compté.

Dans l'exemple indiqué ci-dessus, la longueur de la chaîne Str est 6.

Dans ce tutoriel, nous allons d'abord montrer comment utiliser un Fonction définie par l'utilisateur Pour calculer la longueur d'une chaîne, puis nous vous montrerons une fonction de bibliothèque intégrée strlen (). Nous vous montrons également les utilisations du taille de Opérateur de littéraux de cordes.

Longueur de chaîne à l'aide de la fonction définie par l'utilisateur

Vous pouvez écrire une fonction définie par l'utilisateur qui renvoie le nombre de caractères dans une chaîne.

//Exemple 1.c
#inclure
int stringLength (char * str)

int i = 0;
Pendant que (str [i] != '\ 0') i ++;
retour i;

int main()

char str [30] = "String";
printf ("Longueur de la chaîne Str est =>% d \ n", stringLength (str));
retour 0;

Ici, nous itérons la boucle while de i = 0 Jusqu'à ce que nous ne rencontrions pas le '\ 0' personnage. La valeur de je est augmenté de 1 Dans chaque itération de la boucle while. Lorsque la boucle se termine, la valeur de je est la longueur de la chaîne.

Longueur de chaîne à l'aide de la fonction de bibliothèque intégrée

La fonction de bibliothèque intégrée strlen () peut également être utilisé pour déterminer la longueur de la chaîne.

Strlen () Fonction:

En tête de fichier:

chaîne.H

Syntaxe:

size_t strlen (const char * str)

Argument: Cette fonction prend un argument du pointeur de type à char.

Valeur de retour: Cette fonction renvoie la longueur de la chaîne Str. Noter que size_t est juste un alias d'un entier non signé.

// Exemple2.c
#inclure
#inclure
int main()

char str1 [30] = "Array String";
char * str2;
char * str3;
str2 = str1;
str3 = "string pointer";
printf ("longueur de la chaîne str1 est =>% ld \ n", strlen (str1));
printf ("longueur de la chaîne str2 est =>% ld \ n", strlen (str2));
printf ("longueur de la chaîne str3 est =>% ld \ n", strlen (str3));
printf ("Longueur de la chaîne" String Literals "est =>% ld \ n", strlen ("String Literals"));
retour 0;

Ici, nous passons le tableau de chaîne, le pointeur de chaîne et la chaîne littérale à la fonction strlen, et la fonction renvoie la longueur de la chaîne.

Longueur de chaîne à l'aide de l'opérateur de taille

Nous pouvons également utiliser le taille de Opérateur pour la longueur de chaîne (uniquement pour la chaîne littérale). Mais, nous devons soustraire 1 de la valeur renvoyée par cet opérateur, car elle compte également le caractère '\ 0'. Pour le tableau et le pointeur, la taille de l'opérateur renvoie la taille allouée du tableau et du pointeur, respectivement.

// Exemple3.c
#inclure
int main()

char str1 [30] = "String";
char * str2 = str1;
printf ("longueur de" String "est =>% d \ n", (sizeof ("string") - 1));
printf ("La taille allouée du tableau STR1 est =>% d \ n", sizeof (str1));
printf ("taille du pointeur STR2 est =>% d \ n", sizeof (str2));
retour 0;

Ici, dans la ligne n ° 9, nous passons la chaîne «String» littérale et obtenons la taille, y compris le caractère '\ 0'. Donc, nous soustrayons 1 et obtenons la taille réelle de la chaîne.

Lorsque nous passons un tableau à la taille de l'opérateur, il renvoie la taille allouée du tableau, qui est de 30, et lors du passage d'un pointeur de caractère, il renvoie la taille du pointeur.

Conclusion

Ainsi, dans ce tutoriel, nous vous avons montré comment la longueur des cordes peut être calculée de différentes manières. Vous pouvez utiliser dans votre code, la méthode la mieux adaptée à vous.