Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Chaînes C++

C++ fournit les deux types suivants de représentations de chaînes −

La chaîne de caractères de style C

La chaîne de caractères de style C provient du langage C et continue d'être prise en charge dans C++. Cette chaîne est en fait un tableau unidimensionnel de caractères qui se termine par un null caractère '\0'. Ainsi, une chaîne terminée par un caractère nul contient les caractères qui composent la chaîne suivis d'un null .

La déclaration et l'initialisation suivantes créent une chaîne composée du mot "Hello". Pour contenir le caractère nul à la fin du tableau, la taille du tableau de caractères contenant la chaîne est un de plus que le nombre de caractères du mot "Bonjour".

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

Si vous suivez la règle d'initialisation du tableau, vous pouvez écrire l'instruction ci-dessus comme suit −

char greeting[] = "Hello";

Voici la présentation de la mémoire de la chaîne définie ci-dessus en C/C++ −

En fait, vous ne placez pas le caractère nul à la fin d'une constante de chaîne. Le compilateur C++ place automatiquement le '\0' à la fin de la chaîne lorsqu'il initialise le tableau. Essayons d'imprimer la chaîne susmentionnée −

Démo en direct
#include <iostream>

using namespace std;

int main () {

   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

   cout << "Greeting message: ";
   cout << greeting << endl;

   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −

Greeting message: Hello

C++ prend en charge un large éventail de fonctions qui manipulent des chaînes à terminaison nulle −

strcpy(s1, s2);

Copie la chaîne s2 dans la chaîne s1.

strcat(s1, s2);

Concatène la chaîne s2 à la fin de la chaîne s1.

strlen(s1);

Renvoie la longueur de la chaîne s1.

strcmp(s1, s2);

Renvoie 0 si s1 et s2 sont identiques ; inférieur à 0 si s1s2.

strchr(s1, ch);

Renvoie un pointeur sur la première occurrence du caractère ch dans la chaîne s1.

strstr(s1, s2);

Renvoie un pointeur vers la première occurrence de la chaîne s2 dans la chaîne s1.

Sr.No Fonction et objectif
1
2
3
4
5
6

L'exemple suivant utilise quelques-unes des fonctions mentionnées ci-dessus −

Démo en direct
#include <iostream>
#include <cstring>

using namespace std;

int main () {

   char str1[10] = "Hello";
   char str2[10] = "World";
   char str3[10];
   int  len ;

   // copy str1 into str3
   strcpy( str3, str1);
   cout << "strcpy( str3, str1) : " << str3 << endl;

   // concatenates str1 and str2
   strcat( str1, str2);
   cout << "strcat( str1, str2): " << str1 << endl;

   // total lenghth of str1 after concatenation
   len = strlen(str1);
   cout << "strlen(str1) : " << len << endl;

   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :−

strcpy( str3, str1) : Hello
strcat( str1, str2): HelloWorld
strlen(str1) : 10

La classe String en C++

La bibliothèque C++ standard fournit une chaîne type de classe qui prend en charge toutes les opérations mentionnées ci-dessus, ainsi que beaucoup plus de fonctionnalités. Vérifions l'exemple suivant −

Démo en direct
#include <iostream>
#include <string>

using namespace std;

int main () {

   string str1 = "Hello";
   string str2 = "World";
   string str3;
   int  len ;

   // copy str1 into str3
   str3 = str1;
   cout << "str3 : " << str3 << endl;

   // concatenates str1 and str2
   str3 = str1 + str2;
   cout << "str1 + str2 : " << str3 << endl;

   // total length of str3 after concatenation
   len = str3.size();
   cout << "str3.size() :  " << len << endl;

   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :−

str3 : Hello
str1 + str2 : HelloWorld
str3.size() :  10

Langue C

  1. C chaîne
  2. Opérateurs C++
  3. Commentaires C++
  4. Chaînes Java
  5. Chaînes d'énumération Java
  6. Variables et types C++ :int, double, char, string, bool
  7. Chaînes C++ :strcpy(), strcat(), strlen(), strcmp() EXEMPLES
  8. Chaînes en C :comment déclarer une variable, initialiser, imprimer, exemple
  9. Java - Classe de chaînes