Qu'est-ce qu'une chaîne?
Une chaîne est une séquence de caractères. Une chaîne C ++ est un objet de la classe std :: string. Les caractères sont des séquences d'octets stockées avec accès à un seul octet de caractère autorisé.
Les chaînes C ++ allouent dynamiquement la mémoire. Plus de mémoire peut être allouée à la chaîne pendant l'exécution si nécessaire. Puisqu'il n'y a pas de pré-allocation de mémoire, pas de gaspillage de mémoire. Nous pouvons effectuer diverses opérations sur des chaînes, y compris des comparaisons, concaténation, conversion, etc.
Dans ce didacticiel C ++, vous apprendrez:
- Qu'est-ce qu'une chaîne?
- Déclaration de chaînes
- Chaîne de caractères de style C
- std :: string
- Accéder aux valeurs de chaîne
- Fonctions de chaîne:
- strcpy ()
- strcat ()
- strlen ()
- strcmp ()
- Exemple:
Déclaration de chaînes
C ++ prend en charge deux types de déclarations de chaîne:
- Chaîne de caractères de style C
- Type de classe de chaîne
Chaîne de caractères de style C
Ce type de déclaration de chaîne a été introduit dans le langage de programmation C. C ++ continue de le prendre en charge. C'est simplement un tableau unidimensionnel de caractères terminé par un caractère nul (\ 0). Une chaîne terminée par un caractère nul contient des caractères qui composent la chaîne, suivis d'un null.
Considérez la déclaration de chaîne donnée ci-dessous:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
La déclaration ci-dessus crée une chaîne qui forme le mot John. Le mot a 4 caractères, mais la chaîne a une taille de 5. L'espace supplémentaire permet de conserver le caractère nul.
En utilisant la règle d'initialisation du tableau, nous pouvons écrire l'instruction ci-dessus comme suit:
char name[] = "John";
Notez que vous n'avez pas à placer le caractère nul à la fin de la constante de chaîne. Le compilateur C ++ placera automatiquement le '\ 0' à la fin de la chaîne lors de l'initialisation du tableau.
std :: string
La bibliothèque C ++ standard fournit la classe de chaînes qui prend en charge diverses opérations sur les chaînes. Il est écrit sous la forme std :: string.
Pour utiliser cette classe, nous devons d'abord l'inclure dans notre espace de travail à l'aide du préprocesseur #include comme indiqué ci-dessous:
#include
Ensuite, nous pouvons déclarer notre chaîne en utilisant le mot-clé string. Par exemple:
string name = "John";
L'instruction ci-dessus créera une chaîne nommée nom pour contenir la valeur John.
Accéder aux valeurs de chaîne
En C ++, nous pouvons accéder aux valeurs de chaîne en utilisant le nom de chaîne. Par exemple:
#includeusing namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}
Production:
Voici une capture d'écran du code:
Explication du code:
- Inclure le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Inclure l'espace de noms std afin d'utiliser ses classes et ses fonctions sans l'appeler.
- Appel de la fonction main () à l'intérieur de laquelle la logique du programme doit être ajoutée. Le {marque le début du corps de la fonction main ().
- Déclarer une chaîne de caractères et lui donner le nom du nom. La chaîne stockera la valeur John. L'espace supplémentaire stockera le caractère nul.
- Impression de texte sur la console.
- Impression de la valeur de la chaîne nommée name sur la console.
- La fonction main () doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main ().
Voici un autre exemple utilisant la classe de chaînes standard C ++:
#include#include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}
Production:
Voici une capture d'écran du code:
Explication du code:
- Inclure le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Incluant la classe de chaîne standard dans notre code.
- Inclure l'espace de noms std afin d'utiliser ses classes et ses fonctions sans l'appeler.
- Appel de la fonction main () à l'intérieur de laquelle la logique du programme doit être ajoutée. Le {marque le début du corps de la fonction main ().
- Déclarer une chaîne et lui donner son nom. La chaîne stockera la valeur Guru99.
- Impression de la valeur du nom de chaîne avec du texte sur la console.
- La fonction main () doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main ().
Fonctions de chaîne:
Vous voudrez souvent manipuler des chaînes. C ++ fournit un large éventail de fonctions que vous pouvez utiliser pour cela. Ces fonctions sont définies dans la classe CString, par conséquent, nous devons l'inclure dans notre code afin d'utiliser les fonctions. Laissez-nous en discuter:
strcpy ()
Il s'agit de la fonction de copie de chaîne. Il copie une chaîne dans une autre chaîne.
Syntaxe:
strcpy(string1, string2);
Les deux paramètres de la fonction, string1 et string2, sont des chaînes. La fonction copiera la chaîne string1 dans la chaîne 1.
strcat ()
Il s'agit de la fonction de concaténation de chaîne. Il concatène les chaînes.
Syntaxe:
strcat(string1, string2);
Les deux paramètres de la fonction, string1 et string2 sont les chaînes à concaténer. La fonction ci-dessus concaténera la chaîne string2 à la fin de la chaîne string1.
strlen ()
Il s'agit de la fonction de longueur de chaîne. Il renvoie la longueur de la chaîne qui lui est passée comme argument.
Syntaxe:
strnlen(string1)
Le paramètre string1 est le nom de la chaîne dont la longueur doit être déterminée. La fonction ci-dessus renverra la longueur de la chaîne string1.
strcmp ()
Il s'agit de la fonction de comparaison de chaînes. Il est utilisé pour la comparaison de chaînes.
Syntaxe:
strcmp(string1, string2);
La fonction ci-dessus renverra 0 si les chaînes string1 et string2 sont similaires, moins de 0 si string1
Exemple:
L'exemple suivant montre comment utiliser les fonctions de chaîne ci-dessus:
#include#include using namespace std;int main() {char name1[10] = "Guru99";char name2[10] = "John";char name3[10];int len;strcpy(name3, name1);cout << "strcpy( name3, name1) : " << name3 << endl;strcat(name1, name2);cout << "strcat( name1, name2): " << name1 << endl;len = strlen(name1);cout << "strlen(name1) : " << len << endl;return 0;}
Production:
Voici une capture d'écran du code:
Explication du code:
- Inclure le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Incluant la classe CString standard dans notre code.
- Inclure l'espace de noms std afin d'utiliser ses classes et ses fonctions sans l'appeler.
- Appel de la fonction main () à l'intérieur de laquelle la logique du programme doit être ajoutée. Le {marque le début du corps de la fonction main ().
- Déclarer une chaîne de 10 caractères et lui donner le nom name1. La chaîne stockera la valeur Guru99.
- Déclarer une chaîne de 10 caractères et lui donner le nom name2. La chaîne stockera la valeur John.
- Déclarer une chaîne de 10 caractères et lui donner le nom name3.
- Déclarer une variable entière nommée len.
- Copie de la chaîne name1 dans la chaîne name3.
- Impression de la valeur de la chaîne name1 avec du texte sur la console. Il devrait imprimer Guru99.
- Concaténation des chaînes name2 à la fin de la chaîne name1. La valeur de name1 est désormais Guru99John.
- Impression de la valeur de la chaîne name1 avec du texte sur la console. Il devrait imprimer Guru99John
- Déterminer la longueur de la chaîne nommée name1 et attribuer la valeur de length à la variable len
- Impression de la valeur de la variable len avec un autre texte sur la console.
- La fonction main () doit renvoyer une valeur si le programme fonctionne correctement.
- Fin du corps de la fonction main ().
Résumé
- Une chaîne est une séquence de caractères.
- Les chaînes appartiennent à la classe de chaînes standard en C ++.
- Nous pouvons déclarer des chaînes en utilisant la chaîne de caractères de style C ou la classe de chaînes standard.
- La fonction strcpy () copie une chaîne dans une autre.
- La fonction strcat () concatène deux fonctions.
- La fonction strlen () renvoie la longueur d'une fonction.
- La fonction strcmp () compare deux chaînes.