Fonction C ++ Getline

Fonction C ++ Getline
GetLine () est utilisé pour obtenir la chaîne d'entrée de l'utilisateur dans une ou plusieurs lignes jusqu'à ce qu'un caractère spécial arrive (délimiteur). Il s'agit d'une fonction prédéfinie et utilise une bibliothèque dans le programme, car sa définition est présente dans le fichier d'en-tête de la bibliothèque.
#

Cet article expliquera de nombreux exemples de base pour expliquer le fonctionnement de la fonction getline ().

Prérequis

Nous avons utilisé le 20.04 Version d'Ubuntu; Vous pouvez utiliser le dernier. Pour l'implémentation, vous devez avoir un éditeur de texte et accéder au terminal Linux car nous pourrons voir la sortie des codes source du terminal via la requête.

Syntaxe de la fonction getline ()

La fonction getline () est expliquée sur la base des paramètres utilisés à l'intérieur de la fonction Getline.

# Istream & Getline (Isttream & Is, String & Str, Char Delim)

Maintenant, nous expliquerons chaque paramètre de cette syntaxe un par un.

  • STR: Ce paramètre représente l'objet de chaîne où la valeur d'entrée est stockée lorsque la valeur l'accepte à partir du flux d'entrée.
  • Delim: ce paramètre représente le caractère qui montre le délimiteur qui contient la valeur à laquelle la chaîne d'entrée doit être affichée.

Exemple 1

Cet exemple utilise un exemple simple de la fonction Getline () dans le programme. Dans les programmes C ++ simples, nous avons besoin d'une bibliothèque iOStream dans des programmes C ++ simples, mais ici en plus de cette bibliothèque, nous avons utilisé une autre bibliothèque qui utilise GetLine () dans le code source C ++.

# inclure

En ce qui concerne le programme principal, une variable de chaîne est déclarée ici pour accepter le message de chaîne de l'utilisateur. Lorsque nous exécutons le code dans le terminal, l'utilisateur viendra voir un message affiché dans lequel le système demande à l'utilisateur de saisir le message de chaîne; Ce message sera à nouveau affiché après une procession. La fonction getline () acceptera la phrase entrée par l'utilisateur.

# Getline (cin, message);

Le même message sera affiché sans aucun changement. Nous appliquerons quelques modifications une fois la valeur saisie dans de futurs exemples.

Enregistrez le code dans le fichier avec l'extension de C ++ / C.

Exécutez la commande dans le terminal Ubuntu. Pour compiler le code source, nous avons besoin d'un compilateur. Pour le code C ++, nous avons besoin d'un compilateur G ++ pour compiler le code.

$ g ++ -o getline getline.c
$ ./ getline

Lors de l'exécution, un message s'affiche; Vous devez saisir votre message. Pour que le système affiche la sortie.

Maintenant, nous fournissons ici le même scénario différemment. Comme nous le savons, tout comme la fonction Getline, «CIN» est également utilisée pour obtenir la valeur de l'utilisateur. Mais il y a quelques démérites d'utilisation de CIN à la place de ou avec la fonction Getline. Ici, nous avons utilisé un exemple, dans lequel nous avons utilisé CIN au lieu de Getline, pour voir l'effet de ce changement. Toutes les autres choses sont les mêmes. Par exemple, les bibliothèques sont les mêmes. L'ensemble du programme est écrit dans le programme principal.

Enregistrez maintenant le fichier et exécutez-le dans le terminal Ubuntu. Lorsque nous compilons le code puis l'exécutons, le système nous demandera à nouveau un message de chaîne de notre part. Nous écrire la même chaîne. En utilisant la clé «Entrée», vous verrez que la chaîne entière ne s'affiche pas. Une seule partie de la chaîne s'affiche. En effet. C'est la raison pour laquelle la sortie est réduite par rapport à l'original. Pour accepter la chaîne entière, utilisez la fonction getline (). Compiler le code puis l'exécuter.

Exemple 2

Dans l'exemple précédent, comme en utilisant «CIN», nous avons limité la valeur. Mais c'est évident dans «CIN»; La valeur est toujours réduite au premier blanc dans la chaîne donnée. Mais dans cet exemple, en utilisant la fonction getline (), nous avons limité la valeur dans l'instruction d'entrée en appliquant une condition spéciale. Selon la condition donnée, nous fournissons un alphabet dans le programme. Lors de l'exécution du code, lorsque cet alphabet est disponible dans toute la chaîne pour la première fois, le compilateur arrête d'imprimer la chaîne entière et un morceau de chaîne du début jusqu'à ce que l'alphabet s'affiche à l'écran comme valeur résultante.

# Getline (cin, message, 'i');

Dans cet exemple, vous pouvez voir que nous avons utilisé «i» dans la fonction getline () à l'intérieur du code source. Vous pouvez utiliser n'importe quel autre alphabet de votre choix.

Maintenant, après compilation, exécutez le code sur le terminal. D'après la valeur résultante, il est clair que nous avons utilisé `` i '' dans la chaîne d'entrée, donc les alphabets qui précèdent cet alphabet apparaîtront sous forme de sortie.

Exemple 3

Dans cet exemple, au lieu d'utiliser l'alphabet pour afficher les critères, nous utilisons le numéro d'index ici. Le compilateur va récupérer l'enregistrement souhaité en fonction du numéro d'index en faisant cela. Le numéro d'index qui est donné dans la fonction cessera la récupération supplémentaire de l'enregistrement. Par exemple, nous avons utilisé le numéro «7», donc le message sera affiché en position 6 dans l'index.

Dans cet exemple, vous verrez également qu'il y a un léger changement dans l'écriture de la fonction getline (). Dans l'exemple précédent, nous avons utilisé «Cin» à l'intérieur des paramètres de Getline. Mais cette fois, nous avons utilisé une technique différente d'écriture de cette fonction.

# Cin.getline (message, 7);

Lorsque nous exécutons le code, nous verrons que nous avons entré un nom avec deux mots avec un espace entre eux. Mais en postulant au programme, nous verrons que le nom s'affiche jusqu'à la 6e position de l'index.

Exemple 4

Cet exemple affichera la chaîne afin que chaque mot soit affiché sur la ligne suivante. Cet exemple utilise une nouvelle bibliothèque au lieu des autres, car la fonctionnalité de cette bibliothèque comprend déjà le streaming d'entrée / sortie. Et permet également la lecture et l'écriture dans le fichier. Cela implique également d'afficher les valeurs d'une chaîne. Faites-nous savoir à comprendre l'exemple. Une variable obtient la valeur fournie par l'utilisateur via une fonction Getline. L'autre variable aide à diviser les mots dans la chaîne et à les déplacer vers la ligne suivante.

# Getline (CIN, S);

Après avoir obtenu la valeur, cette valeur divise alors la valeur et la place dans une autre variable, «x». pour la fonction d'affichage; Nous utiliserons une boucle de temps ici.

# Stringstream x (s);

Selon la boucle, la valeur sera imprimée jusqu'à ce que la valeur soit présente dans l'instruction. Le corps de la boucle prend un seul mot de la phrase complète et la coupe là où l'espace est présent ou vient en premier. Cette condition est donnée dans la boucle.

# While (getline (x, t, "))

Vous pouvez voir la valeur résultante en exécutant le code après compilation.

Conclusion

Cet article a affiché quelques exemples élémentaires pour expliquer le concept de fonction getline (). Vous pouvez utiliser le système d'exploitation Linux pour l'élaboration. Nous avons expliqué plusieurs exemples pour expliquer le fonctionnement de cette fonction. Chaque exemple représente le fonctionnement de cette fonction différemment.