Fonction de chaîne C ++

Fonction de chaîne C ++
Une chaîne est classée comme un type de données et est généralement représentée comme un tableau de structures de données d'octets ou de caractères qui sont destinées à enregistrer plusieurs éléments, généralement des caractères. Conceptuellement, il est identique au tableau de caractères du langage C. Bien que, en C ++, il existe une classe spécifique avec plusieurs attributs et méthodes utiles qui permet une gestion plus grande et plus complète de la structure de données de chaîne qui est possible avec les réseaux de caractères. L'allocation de mémoire dynamique est utilisée pour les chaînes. Cela implique que vous êtes épargné d'avoir à initialiser votre objet avec une taille prédéterminée que vous ne pouvez pas modifier pendant la durée de l'ensemble du code.

Pour utiliser les fonctions de chaîne en C ++, nous devons d'abord inclure la bibliothèque qui contient des fonctions de chaîne. L'objet String est capable d'une variété de comportements et de plusieurs actions. Une variété de fonctions de chaîne; y compris strcat, strlen, strcmp, strcpy, swap et bien d'autres sont fournis par la «chaîne.Bibliothèque h ”en c++.

Méthodes utilisées dans les fonctions de chaîne

En C ++, les fonctions de chaîne suivantes sont utilisées pour vous permettre d'obtenir facilement l'exécution souhaitée.

strcpy (var1, var2);
C'est la fonction utilisée pour copier une chaîne de la variable en une autre chaîne. En d'autres termes, nous pouvons dire que le var1 la valeur sera attribuée au var2.

strcat (var1, var2);
Strcat est responsable de la fusion de deux variables. Par exemple, si var1 contient la valeur Mon et var2 contient article puis la valeur résultante de strcat (var1, var2); sera Myarticulaire.

strlen (var1);
Cette fonction est utilisée pour compter les mots de la chaîne qui lui est transmis. En conséquence, il renverra la longueur de la chaîne.

strcmp (var1, var2);
STRCMP est utilisé pour comparer deux chaînes et renverra une valeur 0 Si la chaîne var1 et var2 sont identiques; retourne moins de 0 est var1 est supérieur à var2 et reviendra plus que 0 est le var1 est inférieur à var2.

strchr (var1, r);
strchr est utilisé pour rechercher n'importe quel caractère dans une chaîne. Dans l'initialisation ci-dessus, nous avons utilisé une fonction strchr. Si nous voulons rechercher le personnage dans une chaîne, var1 est la variable qui contient une chaîne Mon article. Dans cette chaîne, nous voulons rechercher un personnage r Il renverra un pointeur lorsque la lettre r se produira pour d'abord.

strStr (var1, var2);
Il est utilisé pour rechercher une chaîne dans une autre chaîne, dans strStr (var1, var2); Nous avons passé deux cordes nommées var1 et var2 dans lequel var1 doit être récupéré de var2 Dès que nous obtenons la chaîne souhaitée, le pointeur sera retourné.

Exemple 1: Utilisation de méthodes de fonctions de chaîne

Jetons un coup d'œil à la première instance.

#inclure
#inclure
Utilisation de Namespace Std;
int main ()
char var1 [12] = "my";
char var2 [12] = "article";
char var3 [12];
longueur int;
strcpy (var3, var1);
couter <<"strcpy( var3, var1) : "<< var3 << endl;
strcat (var1, var2);
couter <<"strcat( var1, var2): "<< var1 << endl;
longueur = strlen (var1);
couter <<"strlen(var1) : "<< length << endl;
retour 0;

Nous incluons d'abord le fichier d'en-tête #inclure qui est une bibliothèque avec les méthodes prédéfinies cin et couter qui est utilisé pour les installations d'entrée et de sortie en C++. Après cela, nous avons défini notre fichier d'en-tête de chaîne qui nous permet d'utiliser des fonctions intégrées de chaîne comme strcpy, strStr, strcat, etc.

Ensuite, nous avons utilisé le Utilisation de Namespace Std; Fichier d'en-tête qui est utilisé car nous ne pouvons pas avoir de variables, de fonctions, etc. avec le même nom dans la programmation. Nous employons donc espaces de noms Pour empêcher ces conflits.

Aborder notre fonction principale qui est int main(), int est le type entier qui sera le type de retour d'un code. Le système d'exploitation qui exécute notre code appelle la fonction principale. Un seul programme peut contenir un nombre illimité de fonctions mais il ne peut contenir qu'une seule fonction.

Après cela, nous avons initialisé nos variables de chaîne var1 de taille de tableau 12, var2 Avec la taille du tableau 12 et var3 de taille de tableau 12, où var1 est attribué avec une valeur de chaîne Mon et var2 est affecté avec article. Nous n'avons attribué aucune valeur à var3 parce que nous l'utiliserons pour copier notre var1 dans var3. Notre quatrième variable a un entier de type de données nommé longueur que nous utiliserons pour calculer la longueur de la chaîne résultante.

strcpy (var3, var1); En cela, nous attribuons var3 la valeur de var1 lequel est Mon puis l'affichage en utilisant le couter instruction qui est responsable de l'affichage du contenu en sortie. Ensuite, nous avons utilisé la fonction strcat qui est utilisé pour concaténer deux chaînes différentes en une. Comme indiqué dans la ligne 17, nous avons concaténé deux chaînes nommées var1 et var2 Pour leur faire une chaîne.

Maintenant, notre prochaine étape consiste à calculer la longueur de toute la chaîne concaténée. Nous avons attribué le strlen fonction à notre variable entière longueur et y a transmis la variable de chaîne que nous calculerons. Ensuite, il sera affiché en utilisant notre couter déclaration.

Types de fonction de chaîne

Le langage de programmation C ++ utilise généralement deux types de chaînes:

Type 1: chaîne C (chaîne de style C)
C Les chaînes sont un tableau unidimensionnel de caractères qui sont fermés avec le caractère nul 0. En conséquence, une chaîne qui se termine par un null contient les caractères qui composent une chaîne.

Méthodes d'initialisation de la chaîne C
Pour initialiser la chaîne char mon article Nous utiliserons deux méthodes. Le tableau de caractères tenant la chaîne doit être un caractère plus grand que les mots mon article Pour accueillir le caractère nul à la fin du tableau.

Méthode 1

# char var [12] = 'm', 'y', 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0;

En cela, nous avons initialisé une variable nommée var avec le type de données carboniser qui est utilisé pour représenter le type de données du caractère. Nous avons attribué une valeur de chaîne à la variable var c'est "m, y, a, r, t, i, c, l, e, \ 0". Dans ce «\ 0» est utilisé pour représenter la valeur nul qui permettra au compilateur de terminer la chaîne.

Exemple 2: attribuant une chaîne à une variable en utilisant la méthode 1

Consultez la deuxième instance de cet article.

#inclure
Utilisation de Namespace Std;
int main ()
char myvar1 [12] = 'm', 'y', ", 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0' ;
couter <<"message: ";
couter << myvar1 << endl;
retour 0;

Dans cet exemple, nous allons affecter et afficher notre chaîne en utilisant la méthode 1, après avoir inclus notre fichier d'en-tête iostream ce qui nous permet d'utiliser son CIN et COUT opérations pour afficher ou obtenir des données de l'utilisateur. Nous nous dirigeons vers notre fonction principale dans laquelle toute notre exécution sera effectuée.

Nous avons défini une dénomination variable myvar1 qui contient un tableau de caractère de type de données qui est mon article. Ensuite, nous avons affiché notre valeur de chaîne en utilisant le couter déclaration. Nous avons attribué un tableau de caractères de taille 12 à notre variable et la transmettre à notre couter fonction. La sortie résultante est:

Méthode 2

# char var = «Mon article»;

Dans le code ci-dessus, nous avons initialisé une autre variable var qui contient également la valeur de la chaîne mon article. Ce mon article est directement affecté à var Utilisation de virgules inversées au lieu d'attribuer séparément les alphabets.

Exemple 3: attribuer une chaîne à une variable en utilisant la méthode 2

Dans l'exemple suivant, nous attribuerons une valeur de chaîne à notre variable myvar1:

#inclure
Utilisation de Namespace Std;
int main ()
char myvar1 [12] = «mon article»;
couter <<"message: ";
couter << myvar1 << endl;
retour 0;

Nous avons créé une variable appelée myvar1 qui stocke un tableau de données de caractères, ou mon article. Ensuite, en utilisant le couter déclaration, nous avons imprimé notre valeur de chaîne. Quand nous avons donné un tableau de personnage de taille 12 à notre couter fonction, la sortie était la suivante:

Type 2: Objets de classe de chaîne qui sont des chaînes (classe de chaîne de la bibliothèque C ++ standard)

Une chaîne C ++ est une instance de la chaîne de classe, qui se trouve dans l'espace de noms standard et définie dans le fichier d'en-tête . Pour construire un objet String, l'un des nombreux constructeurs disponibles dans la classe String peut également être invoqué (explicitement ou implicitement). Les cordes ont l'énorme avantage supplémentaire de l'utilisation d'allocation de mémoire dynamique sur les réseaux de caractères, qui peuvent toujours être utilisés en C++.

Syntaxe

# String var = «Mon article»;

En cela, nous avons une variable de chaîne nommée var qui contient la valeur mon article. Voici la méthode pour déclarer ou initialiser la chaîne qui se compose des mots mon article. Le tableau de caractères tenant la chaîne doit être un caractère plus grand que les mots mon article Pour accueillir le caractère nul à la fin du tableau.

Exemple 4: Utilisation de la fonction de chaîne

Voici un autre exemple important de ce guide:

#inclure
Utilisation de Namespace Std;
int main()
char myvar1 [50];
couter <<"Enter a string: ";
cin.get (myvar1, 50);
couter <<"You entered: "<< myvar1 << endl;
retour 0;

Nous commençons par inclure le fichier d'en-tête #inclure, qui est une bibliothèque qui utilise les méthodes standard CIN et COUT pour les installations d'entrée et de sortie de C ++. Suivant cela, nous avons défini notre fichier d'en-tête de chaîne, nous permettant d'utiliser des méthodes de chaîne intégrées comme Strcpy, StrStr, Strcat, etc.

Passant à notre fonction principale, int main(), où int est le type d'entier qui sera utilisé comme valeur de retour pour un code. La fonction principale est appelée par le système d'exploitation qui exécute notre code. Il n'y a pas de limite au nombre de fonctions qu'un programme peut avoir, mais il ne peut y avoir qu'une seule fonction principale.

Une variable appelée myvar a été créé, ayant un type de données de chaîne. Le couter La déclaration a ensuite été utilisée pour afficher le Entrez une chaîne: Texte pour que l'utilisateur obtienne qu'il doit entrer dans la chaîne de son choix. Après avoir fait cela, nous avons utilisé le ligne fonction. Une chaîne ou une ligne peut être lue à partir d'un flux d'entrée en utilisant la fonction de bibliothèque standard getline () en C++. Il appartient à l'en-tête de chaîne. Ce faisant, la chaîne d'entrée, le cas échéant, remplacera la valeur qui a été précédemment enregistrée dans l'objet String Myvar. Entrée utilisateur suivant une chaîne Mon article sera affiché en utilisant le couter Déclaration.

Exemple 5: Passer la chaîne

Voici le dernier exemple de ce guide.

#inclure
Utilisation de Namespace Std;
VOID CHARSHOW (char *);
void StringsHow (String);
int main()
String myvar1;
char myvar2 [50];
couter <<"Enter a string: ";
Getline (Cin, MyVar1);
couter <<"Enter another string: ";
cin.get (myvar2, 50, '\ n');
StringsHow (myvar1);
Charshow (myvar2);
retour 0;

void charshow (char strn [])
couter <<"Entered char array is: "<< strn << endl;

void StringShow (String strn)
couter <<"Entered string is: "<< strn << endl;

Dans cet exemple, nous utiliserons les deux méthodes de passage des caractères de chaîne à l'aide de tableaux de caractères ainsi que des méthodes de chaîne dans un seul programme. Nous commençons par inclure le fichier d'en-tête #inclure . Nous avons ensuite utilisé le Utilisation de Namespace Std;.

Dans nos fichiers d'en-tête, nous avons défini deux fonctions de dénomination Charshow () qui sera responsable de l'affichage de la chaîne que nous obtiendrons de l'utilisateur à l'aide d'un tableau de caractères et de l'autre StringShow () qui affichera la chaîne, que nous obtiendrons de l'utilisateur à l'aide d'une méthode de chaîne.

À l'intérieur de la fonction principale () de cet exemple de programme, nous avons déclaré deux chaînes myvar1 qui sera attribué de valeurs en utilisant la méthode de chaîne et l'autre myvar2 sera attribué de type de caractères à l'aide d'un tableau fixe de 50 taille. Les utilisateurs doivent entrer deux chaînes. Ceux-ci sont conservés dans les variables myvar1 et myvar2, où myvar2 est un tableau char et myvar1 est un objet de chaîne, respectivement.

La chaîne est ensuite affichée à l'aide de deux procédures appelées Charin () et StringShow (). Le paramètre est la seule distinction entre les deux fonctions. La première fonction charshow () accepte un paramètre du tableau de caractères de type, tandis que le second accepte un paramètre de la chaîne de type.

Conclusion

La base de cet article est la mise en œuvre de la chaîne et ses méthodes clés en utilisant divers types, qui nous permettent de personnaliser la fonction de chaîne pour répondre à nos exigences, avec des exemples de comment utiliser la chaîne et quand l'utiliser. Nous avons ajouté plusieurs fonctions qui font partie de la fonction de chaîne en C++. Nous avons expliqué cinq exemples différents pour développer le fonctionnement des chaînes en C++.