Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Langage C - Les chaînes de caractères

Chaînes de caractères Encyclopédie


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

Une chaîne de caractères (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 chaîne 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 chaîne de caractères

Pour définir une chaîne de caractères en langage C, il suffit de définir un tableau de caractères. 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 chaîne, 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ères maximal de la chaîne :

 char Nom_du_tableau[Nombre_d_elements + 1]

Par exemple :
 char Chaine[50 + 1]

Initialiser une chaîne de caractères

Comme généralement en langage C, il faut initialiser votre chaîne de caractères, 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înes fournies dans les librairies standard

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înes 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).

Trucs & astuces pertinents trouvés dans la base de connaissances

09/02 14h48 Passer le son de l'ordi sur une chaîne hi-fi (Carte son)
31/08 18h57 CD audio gravé non reconnu sur chaine ou autoradio (Gravure)
Chaîne en C Plus d'astuces sur « Chaîne en C »

Discussions pertinentes trouvées dans le forum

27/07 21h23 chaîne Problèmes à la chaîne Virus/Sécurité 15/08 21h15->moe3198
08/09 10h04 unix déplacer fichier selon chaine contenu [Unix] déplacer fichier selon chaine contenu Linux/Unix 13/10 08h57->jon_chninkel21
13/06 15h56 php convertion chaine caractere [php] convertion d'une chaine de caractere Webmastering 13/06 17h40->nauno16
26/02 13h44 chaine caractére Chaine de caractére : problème Développement 27/02 10h56->éma16
16/05 12h04 php supprimer espaces chaine [PHP] supprimer les espaces d'une chaine Développement 17/05 09h13->antic8011
02/06 09h34 batch extraction chaîne caractères [Batch] Extraction chaîne de caractères Développement 08/11 15h33->bobthefox10
29/03 17h06 python convertir chaine caractere [Python]Convertir chaine de caractere Développement 29/03 17h56->oreilledelest9
18/01 23h34 php manipulation intérieur chaine [PHP][manipulation a l'intérieur d'un chaine] Webmastering 19/01 16h55->Ssylvainsab9
31/03 08h47 vba traitement chaîne vide null pb en vba : traitement chaîne vide = Null Développement 31/03 10h11->Jenni8
10/11 10h18 perl récupération chaîne caractère [PERL]Récupération chaîne caractère... Développement 28/02 07h22->lami20j8
Discussion fermée Problème résolu Chaîne en C Plus de discussions sur « Chaîne en C »

Ce document intitulé « Langage C - Les chaînes de caractères » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.