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++ :strcpy(), strcat(), strlen(), strcmp() EXEMPLES

Qu'est-ce qu'une chaîne ?

Une chaîne est une suite 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 de la mémoire de manière dynamique. 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 les chaînes, y compris les comparaisons, la concaténation, la conversion, etc.

Dans ce didacticiel C++, vous apprendrez :

Déclarer des chaînes

C++ prend en charge deux types de déclarations de chaînes :

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. Il s'agit simplement d'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 caractère nul.

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 contenir 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îne qui prend en charge diverses opérations de chaîne. Il est écrit sous la forme std ::string.

Pour utiliser cette classe, nous devons d'abord l'inclure dans notre espace de travail en utilisant le préprocesseur #include comme indiqué ci-dessous :

#include<string>

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 name 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 la chaîne. Par exemple :

#include <iostream>
using namespace std;
int main() {
	char name[5] = { 'J', 'o', 'h', 'n', '\0' };
	cout << "String value is: ";
	cout << name << endl;
	return 0;
}

Sortie :

Voici une capture d'écran du code :

Explication du code :

  1. Inclure le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Inclure l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  3. Appeler 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().
  4. Déclarer une chaîne de caractères et lui donner le nom name. La chaîne stockera la valeur John. L'espace supplémentaire stockera le caractère nul.
  5. Imprimer du texte sur la console.
  6. Imprimer la valeur de la chaîne nommée name sur la console.
  7. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  8. Fin du corps de la fonction main().

Voici un autre exemple utilisant la classe de chaîne standard C++ :

#include <iostream>
#include <string>
using namespace std;
int main() {

	string name = "Guru99";
	
	cout << "The name is : " << name << endl;

	return 0;
}

Sortie :

Voici une capture d'écran du code :

Explication du code :

  1. Inclure le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Inclure la classe de chaîne standard dans notre code.
  3. Inclure l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  4. Appeler 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().
  5. Déclarer une chaîne et lui donner le nom name. La chaîne stockera la valeur Guru99.
  6. Imprimer la valeur du nom de la chaîne à côté d'un texte sur la console.
  7. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  8. 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. Discutons-en quelques-uns :

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, chaîne1 et chaîne2, 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înes. Il concatène des 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()

C'est la fonction de longueur de chaîne. Il renvoie la longueur de la chaîne qui lui est passée en argument.

Syntaxe :

strnlen(string1)

Le paramètre string1 est le nom de la chaîne dont la longueur est à déterminer. 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, inférieur à 0 si string1string2.

Exemple :

L'exemple suivant montre comment utiliser les fonctions de chaîne ci-dessus :

#include <iostream>
#include <cstring>
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;
}

Sortie :

Voici une capture d'écran du code :

Explication du code :

  1. Inclure le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Inclure la classe CString standard dans notre code.
  3. Inclure l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  4. Appeler 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().
  5. Déclarer une chaîne de 10 caractères et lui donner le nom name1. La chaîne stockera la valeur Guru99.
  6. Déclarer une chaîne de 10 caractères et lui donner le nom name2. La chaîne stockera la valeur John.
  7. Déclarer une chaîne de 10 caractères et lui donner le nom name3.
  8. Déclarer une variable entière nommée len.
  9. Copiez la chaîne name1 dans la chaîne name3.
  10. Imprimer la valeur de la chaîne name1 à côté d'un texte sur la console. Il devrait imprimer Guru99.
  11. Concaténation des chaînes nom2 à la fin de la chaîne nom1. La valeur de name1 est maintenant Guru99John.
  12. Imprimer la valeur de la chaîne name1 à côté d'un texte sur la console. Il devrait afficher Guru99John
  13. Déterminer la longueur de la chaîne nommée name1 et attribuer la valeur de longueur à la variable len.
  14. Imprimer la valeur de la variable len à côté d'un autre texte sur la console.
  15. La fonction main() doit renvoyer une valeur si le programme fonctionne correctement.
  16. Fin du corps de la fonction main().

Résumé


Langue C

  1. Chaînes Java
  2. Chaînes d'énumération Java
  3. Variables et types C++ :int, double, char, string, bool
  4. Tableaux en C++ | Déclarer | Initialiser | Pointeur vers des exemples de tableaux
  5. Boucle do…while C++ avec exemples
  6. Pointeurs C++ avec exemples
  7. Type de données Char C++ avec exemples
  8. Surcharge d'opérateur C++ avec des exemples
  9. Fonctions C++ avec exemples de programmes