Skip to content
Snippets Groups Projects
title: "Chaînes de caractères"
date: "2022-11-01"

Rappel: la chaîne de caractères

Existe-t-il un type string{.C} en C{.C}?

. . .

  • Non.

. . .

Qu'est-ce qu'une chaîne de caractères en C?

. . .

  • Un tableau de char{.C} (entier signé 8 bits, le code ASCII de chaque caractère).

. . .

Comment détecte-t-on la fin d'une chaîne de caractères?

. . .

  • La chaîne est terminée lorsqu'on rencontre le caractère \0{.C} ou l'ASCII 0{.C}.

Exemple

char *str = "HELLO !"; // statique

Est représenté par

H E L L O ! \0
72 69 76 76 79 32 33 0

Syntaxes alternatives

char name[10];
name[0] = 'P';  // = 70;
name[1] = 'a';  // = 97;
name[2] = 'u';  // = 117;
name[3] = 'l';  // = 108;
name[4] = '\0'; // = 0;
char name[] = {'P', 'a', 'u', 'l', '\0'};

Fonctions

  • Il existe une grande quantités de fonction pour la manipulation de chaînes de caractères dans string.h.
  • Comment les trouver?

. . .

$ man 3 string
  • Fonctions principales:

    size_t strlen(char *str);
    char *strcpy(char *dest, const char *src);
    char *strncpy(char *dest, const char *src, size_t len);
    int strncmp(char *str1, char *str2, size_t len);
    int strcmp(char *str1, char *str2);