Comment Ca Marche l'informatique ?
Accueil
Forum
Aide
bordure
Page d'accueil
Ajouter aux favoris
Signalez une erreur
Ecrire à Jean-Francois Pillou
Introduction
Caractéristiques
Préprocesseur
Types de données
Les variables
Les opérateurs
Structures conditionnelles
Les fonctions
Les tableaux
Les structures
Les pointeurs
Chaîne de caractères
Listes chaînées
Version 2.0.3
chaines de caracteres Page précédente Page suivante Retour à la page d'accueil

Qu'est-ce qu'une chaine de caractères?

Une chaîne de caractère (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII.

En langage C, une chaîne de caractères est un tableau, comportant plusieurs données de type char, dont le dernier élément est le caractère nul '\0', c'est-à-dire le premier caractère du code ASCII (dont la valeur est 0).
Ce caractère est un caractère de contrôle (donc non affichable) qui permet d'indiquer une fin de chaîne de caractères. Ainsi une chaine composée de n éléments sera en fait un tableau de n+1 éléments de type char.
On peut par exemple représenter la chaîne "Bonjour" de la manière suivante:

Bonjour\0

Créer une chaine de caractères

Pour définir une chaîne de caractères en langage C, il suffit de définir un tableau de caractère. Le nombre maximum de caractères que comportera la chaîne sera égal au nombre d'éléments du tableau moins un (réservé au caractère de fin de chaîne.

 char Nom_du_tableau[Nombre_d_elements]

  • Le nombre d'éléments que comporte le tableau définit la taille maximale de la chaine, on peut toutefois utiliser partiellement cet espace en insérant le caractère de fin de chaîne à l'emplacement désiré dans le tableau.

Astuce! en définissant le tableau de la manière suivante, vous mettez en évidence le nombre de caractère maximal de la chaîne:

 char Nom_du_tableau[Nombre_d_elements + 1]

Par exemple:
 char Chaine[50 + 1]

Initialiser une chaine de caractères

Comme généralement en langage C, il faut initialiser votre chaîne de caractère, c'est-à-dire remplir les cases du tableau avec des caractères, sachant que celui-ci devra obligatoirement contenir le caractère de fin de chaîne '\0'.
Il y a deux façons de procéder:

  • remplir manuellement le tableau case par case
  • utiliser les fonctions de manipulation de chaîne fournies dans les librairies standards
Voici un exemple d'initialisation manuelle de chaîne de caractères:
#include <stdio.h>

void main(){

	char Chaine[20+1];

	Chaine[0]= 'B';

	Chaine[1]= 'o';

	Chaine[2]= 'n';

	Chaine[3]= 'j';

	Chaine[4]= 'o';

	Chaine[5]= 'u';

	Chaine[6]= 'r';

	Chaine[7]= '\0';

}

Voici une autre façon (plus simple) d'initialiser une chaîne de caractères:

#include <stdio.h>

void main(){

	char Chaine[20+1]={ 'B', 'o', 'n', 'j', 'o', 'u', 'r', '\0' };

}

Les fonctions de manipulation de chaînes de caractères

De nombreuses fonctions de manipulation de chaîne sont directement fournies. Ces fonctions se trouvent dans le fichier d'en-tête <string.h>, c'est la raison pour laquelle il faut ajouter la ligne suivante en début de programme:

#include <string.h>

Le fichier <string.h> contient les prototypes de nombreuses fonctions permettant de simplifier l'utilisation et la manipulation de chaînes (environ une quarantaine). Certaines de ces fonctions seront étudiées dans les chapitres suivants...


Page précédente Page suivante

Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.