string functions c
Dans ce didacticiel, nous discuterons de certaines des fonctions de chaîne populaires en C ++ telles que la sous-chaîne getline, la longueur de la chaîne, la recherche de chaîne, la chaîne fractionnée, etc.:
C ++ a une classe de chaînes qui est utilisée pour une séquence de caractères également appelée chaînes. Cette classe est std :: string . Cette classe stocke les chaînes sous la forme d'une séquence d'octets de caractères et fournit des fonctions qui nous permettent de manipuler, d'accéder et de lire les chaînes ainsi que d'accéder et de manipuler des caractères uniques.
comment mettre à jour le bios de Windows 10
=> Visitez ici pour le cours C ++ complet d'experts.
Ce que vous apprendrez:
Fonctions de chaîne C ++
La chaîne C ++ est une séquence de caractères. Lorsque nous définissons des chaînes en C ++, nous utilisons une chaîne
mot clé qui n'est rien d'autre que la classe std :: string. Cette classe de chaîne prend en charge diverses fonctions de lecture d'une chaîne, de manipulation, d'accès à une chaîne, etc. qui effectuent différentes opérations sur des objets chaîne. Certaines fonctions fréquemment utilisées sont répertoriées ci-dessous.
Non | Fonctions de chaîne | La description |
---|---|---|
un | getline | Obtient la ligne du flux à la chaîne |
deux | substr | Obtenir une sous-chaîne d'une chaîne donnée |
4 | Longueur, strlen | Obtenir la longueur de la chaîne |
5 | Trouver | Rechercher du contenu dans une chaîne |
6 | Strtok, substr avec délimiteur | Chaîne divisée en jetons |
getline C ++
Prototype de fonction: istream & getline (istream & is, string & str)
Paramètres): is => istream objet dont les caractères sont extraits.
str => Objet chaîne utilisé pour stocker le caractère extrait.
Valeur de retour: La valeur de retour est la même que pour istream. En interne, l'exécution de la getline définit certains indicateurs internes comme suit.
drapeau | Erreur de description |
---|---|
eofbit | Fin de la source du personnage atteinte |
échec | L'entrée ne peut pas être interprétée comme une représentation textuelle valide de l'objet de ce type |
badbit | Toute autre erreur sauf les deux ci-dessus |
Description: getline est une fonction de bibliothèque standard. Cette fonction est utilisée pour lire une ligne ou une chaîne à partir d'un flux d'entrée standard comme istream. Les lignes ou chaînes sont lues jusqu'à ce que ' n', considéré comme un caractère de délimitation, soit rencontré.
En tant que version différente de getline, un troisième paramètre «char delim» peut être spécifié. Il s'agit d'un caractère délimiteur spécifié explicitement. Dans cette fonction, une ligne de texte ou une chaîne sera lue jusqu'à ce que le caractère délimiteur spécifié soit rencontré.
Vous trouverez ci-dessous un exemple simple pour illustrer l'utilisation de getline.
Exemple:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Production:
Entrez la chaîne d'entrée:
Tutoriels C ++
Vous avez entré: tutoriels C ++

Dans l'exemple ci-dessus, nous lisons une chaîne d'entrée à l'aide de la fonction getline. Notez que les chaînes ou le texte saisis sont lus dans l’objet string mystr jusqu’à ce que ‘ n’ soit rencontré.
Sous-chaîne C ++
Prototype de fonction: string substr (size_t startpos, size_t endpos)
Paramètres): startpos => Position de départ à partir de laquelle la sous-chaîne doit être extraite.
endpos => Position finale de la sous-chaîne.
Valeur de retour: Renvoie une chaîne qui est une sous-chaîne de la chaîne parent.
Description: Cette fonction renvoie une sous-chaîne d'une chaîne donnée. La fonction prend les positions de début et de fin comme paramètres, puis renvoie la séquence de caractères entre ces positions.
Exemple:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Production:
Chaîne d'entrée: SoftwareTestingHelp
Sous-chaîne (0,8): Logiciel

Longueur C ++
La longueur de la chaîne est le nombre de caractères présents dans la chaîne. La représentation d'objet std :: string des chaînes en C ++ utilise les fonctions length () pour renvoyer la longueur de la chaîne.
En dehors de cela, nous avons également une méthode de taille qui renvoie la taille de la chaîne. Nous avons utilisé la méthode size dans l'exemple ci-dessous pour la fonction length (). Une autre fonction qui renvoie la longueur de la chaîne est «strlen». Cette fonction renvoie la longueur de la chaîne indiquée par un tableau de caractères.
Nous verrons les deux fonctions une par une avec des exemples.
longueur()
Prototype de fonction: size_t longueur ()
Paramètres): Appelé par la chaîne dont la longueur doit être trouvée.
Valeur de retour: Renvoie un paramètre de type size_t qui est la longueur de la chaîne.
Description: Cette fonction trouve la longueur de l'objet chaîne par lequel elle est appelée.
Exemple:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Production:
Chaîne d'entrée: SoftwareTestingHelp
La longueur de la chaîne (avec la méthode length) est: 19
La taille de la chaîne (avec la méthode size) est: 19

Dans le programme ci-dessus, nous utilisons les fonctions length et size de std :: string qui retourne respectivement la longueur et la taille de l'objet string. Comme la longueur et la taille renvoient le nombre de caractères dans la chaîne, nous obtenons le même résultat.
quelle est la phase d'analyse dans le sdlc
strlen ()
Prototype de fonction: size_t strlen (const char * str);
Paramètres): str => Pointeur vers une chaîne terminée par un zéro dont la longueur doit être trouvée.
Valeur de retour: R et renvoie la valeur size_t indiquant la longueur de la chaîne str.
Description: La fonction strlen () renvoie la longueur de la chaîne terminée par un zéro. La chaîne prise en tant que paramètre par la fonction strlen est un tableau de caractères terminé par null.
Exemple:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
Production:
Longueur de mystr1 = 23
Longueur de mystr2 = 25
mystr2 est plus long que mystr1

Dans le programme ci-dessus, nous avons défini deux chaînes différentes et nous trouvons leur longueur individuelle en utilisant la fonction strlen. Ensuite, nous comparons la longueur des deux chaînes et déterminons si les chaînes sont égales ou inégales.
Recherche C ++
Prototype de fonction: size_t find (chaîne mysub)
Paramètres): mysub => Objet String à trouver dans la chaîne parent.
Valeur de retour: size_t => Première position de la sous-chaîne dans la chaîne parente
Description: La fonction find de la chaîne est utilisée pour trouver la position de la sous-chaîne dans la chaîne parente. Cette fonction est appelée par la chaîne parente et une sous-chaîne dont la position doit être trouvée est passée en paramètre. Si la sous-chaîne n'est pas présente, une position vide est renvoyée.
Exemple:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< Production:
Première occurrence de la chaîne Test: 8
Première occurrence de la chaîne Help: 15

Ce programme définit une chaîne comme «SoftwareTestingHelp». En utilisant la fonction find, nous trouvons la première occurrence de la chaîne «Test» dans la chaîne parent. Ensuite, nous trouvons l'occurrence de la chaîne «Help». La sortie est la position de l'occurrence de la chaîne recherchée.
Chaîne divisée
Fractionner une chaîne à l'aide d'un délimiteur ou d'un jeton est une opération utile. En C ++, comme nous avons plus d'une représentation de chaînes, nous pouvons utiliser différentes approches pour diviser une chaîne. Ici, nous allons discuter de deux approches pour diviser une chaîne.
Division d'un objet std :: string
L’approche la plus simple pour diviser un objet chaîne consiste à utiliser la fonction ‘substr’ sur l’objet et à fournir le délimiteur comme position de fin afin d’obtenir la sous-chaîne. De cette façon, nous pouvons diviser la chaîne sur le délimiteur jusqu'à ce que nous ayons parcouru toute la chaîne.
Voyons l'exemple ci-dessous qui trouve d'abord la position du délimiteur à l'aide de la fonction «find», puis trouve la sous-chaîne et renvoie finalement chacun des jetons.
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
Production:
fusionner tri pseudocode c ++
Cette
est
Logiciel
essai
Aidez-moi

Comme indiqué dans le programme ci-dessus, nous spécifions un délimiteur qui sera utilisé pour diviser la chaîne donnée. Dans une boucle, nous trouvons à plusieurs reprises l'occurrence du délimiteur à l'aide de la fonction find et la passons à la fonction substr et récupérons la sous-chaîne. Ensuite, chacun de ces jetons obtenus est affiché comme sortie.
Division d'un tableau de caractères à l'aide de la fonction strtok
Une autre façon de tokeniser une chaîne (diviser la chaîne à l’aide d’un délimiteur) consiste à utiliser la fonction «strtok». Nous discuterons ci-dessous des spécificités de la fonction «strtok».
Prototype de fonction: char * strtok (char str (), const char * delim)
Paramètres): str () => Chaîne à diviser.
Delim => Délimiteur sur lequel la chaîne doit être divisée.
Valeur de retour: Renvoie le jeton suivant après avoir fractionné la chaîne parente.
Description: La fonction strtok divise la chaîne donnée en jetons sur des délimiteurs donnés. Cette fonction doit être appelée dans une boucle afin que nous obtenions tous les jetons pour une chaîne donnée. Lorsqu'il ne reste plus de jetons, la fonction renvoie null.
Exemple:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Production:
Cette
est
Logiciel
essai
Aidez-moi

Notez que, dans ce programme, nous utilisons la fonction strtok qui prend une chaîne et un délimiteur comme arguments. Ensuite, il divise la chaîne en jeton, en fonction du délimiteur spécifié et affiche les jetons individuels.
Conclusion
Nous avons vu certaines des fonctions générales importantes utilisées pour les chaînes C ++ dans ce didacticiel.
Nous avons discuté des fonctions pour lire une chaîne d'entrée, trouver une chaîne, une sous-chaîne de la chaîne parent, la longueur de la chaîne, la division d'une chaîne, etc. avec leurs variations. Ces fonctions nous aident à lire et à manipuler efficacement les chaînes.
Dans notre prochain tutoriel, nous verrons en détail certaines des fonctions de conversion utilisées avec une chaîne C ++.
=> Visitez ici pour voir toute la série de formations C ++ pour tous.
lecture recommandée
- Fonctions de chaîne Python
- Tutoriel Java String with String Buffer et String Builder
- Fonctions de conversion de caractères C ++: char en int, char en chaîne
- Fonctions de chaîne VBScript: fonctions VBScript inStr, Replace, Mid et Trim
- Tutoriel Python String Split
- Tutoriel C # String - Méthodes de chaîne avec des exemples de code
- Fonctions Python
- String Array C ++: implémentation et représentation avec des exemples