C ++ GetLine -Funktion

C ++ GetLine -Funktion
Getline () wird verwendet, um die Eingabezeichenfolge vom Benutzer in einer oder mehreren Zeilen zu erhalten, bis ein spezielles Zeichen kommt (Abgrenzer). Es handelt sich um eine vordefinierte Funktion und verwendet eine Bibliothek im Programm, da seine Definition in der Header -Datei der Bibliothek vorhanden ist.
#

In diesem Artikel werden viele grundlegende Beispiele erläutert, um die Funktionsweise der Getline () -Funktion zu erläutern.

Voraussetzung

Wir haben die 20 benutzt.04 Version von Ubuntu; Sie können die neueste verwenden. Für die Implementierung müssen Sie einen Texteditor haben und auf das Linux -Terminal zugreifen, da wir die Ausgabe der Quellcodes auf dem Terminal über die Abfrage sehen können.

Syntax der Getline () -Funktion

Die Funktion getline () wird basierend auf den Parametern erläutert, die in der GetLine -Funktion verwendet werden.

# iStream & getline (iStream & IS, String & Str, char delim)

Jetzt werden wir jeden Parameter dieser Syntax nacheinander erklären.

  • STR: Dieser Parameter repräsentiert das String -Objekt, bei dem der Eingabwert gespeichert wird, wenn der Wert ihn aus dem Eingabestream akzeptiert.
  • Delim: Dieser Parameter repräsentiert das Zeichen.

Beispiel 1

In diesem Beispiel wird ein einfaches Beispiel für die Funktion getline () im Programm verwendet. In einfachen C ++ - Programmen benötigen wir eine iOstream -Bibliothek in einfachen C ++ - Programmen, aber hier haben wir neben dieser Bibliothek eine andere Bibliothek verwendet, die Getline () in C ++ - Quellcode verwendet.

# enthalten

Wenn Sie auf das Hauptprogramm kommen, wird hier eine String -Variable deklariert, um die Zeichenfolgennachricht vom Benutzer zu akzeptieren. Wenn wir den Code im Terminal ausführen, wird der Benutzer eine Nachricht angezeigt, die angezeigt wird, in der das System den Benutzer auffordert, die String -Nachricht einzugeben. Diese Nachricht wird nach einer Prozession erneut angezeigt. Die Funktion getline () akzeptiert den vom Benutzer eingegebenen Satz.

# GetLine (CIN, Nachricht);

Die gleiche Nachricht wird ohne Änderung angezeigt. Wir werden einige Änderungen anwenden, nachdem der Wert in zukünftigen Beispielen eingegeben wurde.

Speichern Sie den Code in der Datei mit der Erweiterung von C ++/C.

Führen Sie den Befehl im Ubuntu -Terminal aus. Um den Quellcode zu kompilieren, benötigen wir einen Compiler. Für C ++ - Code benötigen wir einen G ++ - Compiler, um den Code zu kompilieren.

$ g ++ -o getline getline.C
$ ./Getline

Bei der Ausführung wird eine Nachricht angezeigt; Sie müssen Ihre Nachricht eingeben. So dass das System die Ausgabe anzeigt.

Jetzt geben wir hier das gleiche Szenario anders an. Wie wir wissen, wird auch wie bei der GetLine -Funktion "CIN" auch verwendet, um den Wert vom Benutzer zu erhalten. Es gibt jedoch einige Nacht. Hier haben wir ein Beispiel verwendet, in dem wir CIN anstelle von Getline verwendet haben, um die Auswirkung dieser Änderung zu erkennen. Alle anderen Dinge sind gleich. Zum Beispiel sind die Bibliotheken gleich. Das gesamte Programm ist im Hauptprogramm geschrieben.

Speichern Sie nun die Datei und führen Sie sie im Ubuntu -Terminal aus. Wenn wir den Code kompilieren und ihn dann ausführen, verlangt das System erneut eine String -Nachricht von uns. Wir werden die gleiche Zeichenfolge schreiben. Mit dem Schlüssel 'Eingabetaste' werden Sie feststellen, dass die gesamte Zeichenfolge nicht angezeigt wird. Es wird nur ein einzelner Teil der Zeichenfolge angezeigt. Dies liegt daran, dass „CIN“ den Wert aus der gesamten Zeichenfolge akzeptiert, bis er den ersten Platz findet. Das ist der Grund, warum die Ausgabe vom ursprünglichen reduziert wird. Um die gesamte Zeichenfolge zu akzeptieren, verwenden Sie die Funktion getline (). Kompilieren Sie den Code und führen Sie ihn dann aus.

Beispiel 2

Im vorherigen Beispiel haben wir wie durch die Verwendung von „CIN“ den Wert eingeschränkt. Aber es ist offensichtlich in „CIN“; Der Wert wird immer auf den ersten Leerzeichen in der angegebenen Zeichenfolge reduziert. In diesem Beispiel haben wir durch die Verwendung von Getline () -Funktion den Wert in der Eingabeanweisung begrenzt, indem wir eine spezielle Bedingung anwenden. Nach der angegebenen Bedingung stellen wir ein Alphabet im Programm zur Verfügung. Wenn dieses Alphabet zum ersten Mal in der gesamten Zeichenfolge ausgeführt wird, hört der Compiler auf, die gesamte Zeichenfolge zu drucken, und ein Stück Zeichenfolge vom Start bis zum Rettungswert wird dieses Alphabet als resultierender Wert angezeigt.

# GetLine (Cin, Nachricht, 'I');

In diesem Beispiel können Sie sehen, dass wir in der Funktion "Getline () im Quellcode" I "verwendet haben. Sie können jedes andere Alphabet Ihrer eigenen Wahl verwenden.

Führen Sie nun nach der Zusammenstellung den Code auf dem Terminal aus. Aus dem resultierenden Wert ist klar, dass wir 'I' in der Eingangszeichenfolge verwendet haben, sodass die Alphabete, die vor diesem Alphabet kommen.

Beispiel 3

In diesem Beispiel verwenden wir die Indexnummer hier, anstatt das Alphabet zum Anzeigen von Kriterien zu verwenden. Der Compiler holt den gewünschten Datensatz gemäß der Indexnummer ab. Die Indexnummer, die in der Funktion angegeben ist. Zum Beispiel haben wir die Nummer '7' verwendet, sodass die Nachricht im Index an Position 6 angezeigt wird.

In diesem Beispiel werden Sie auch feststellen. Im vorherigen Beispiel haben wir "CIN" in den Parametern von getline verwendet. Aber diesmal haben wir eine andere Technik zum Schreiben dieser Funktion verwendet.

# Cin.GetLine (Nachricht, 7);

Wenn wir den Code ausführen, werden wir sehen, dass wir einen Namen mit zwei Wörtern mit einem Raum zwischen ihnen eingegeben haben. Bei der Beantragung des Programms werden wir jedoch feststellen, dass der Name bis zur 6. Position des Index angezeigt wird.

Beispiel 4

In diesem Beispiel wird die Zeichenfolge angezeigt, damit jedes Wort in der nächsten Zeile angezeigt wird. In diesem Beispiel wird eine neue Bibliothek anstelle anderer verwendet, da die Funktion dieser Bibliothek bereits das Streaming für Eingabe-/ Ausgänge enthält. Und ermöglicht auch das Lesen und Schreiben in der Datei. Dies beinhaltet auch die bitgewiäre Anzeige der Werte einer Zeichenfolge. Lassen Sie uns wissen, um das Beispiel zu verstehen. Eine Variable erhält den vom Benutzer bereitgestellten Wert über eine GetLine -Funktion. Die andere Variable hilft dabei.

# GetLine (cin, s);

Nach dem Wert des Wertes teilt dieser Wert dann den Wert auf und legt ihn in eine andere Variable "x". für die Anzeigefunktion; Wir werden hier eine Weile Schleife verwenden.

# Stringsstream X (s);

Gemäß der Schleife wird der Wert gedruckt, bis der Wert in der Anweisung vorhanden ist. Der Schleifenkörper nimmt ein einzelnes Wort aus dem vollständigen Satz und schneidet ihn dort, wo der Raum vorhanden ist oder zuerst kommt. Dieser Zustand ist in der Schleife angegeben.

# Während (getline (x, t, "))

Sie können den resultierenden Wert sehen, indem Sie den Code nach der Kompilierung ausführen.

Abschluss

In diesem Artikel wurden einige elementare Beispiele angezeigt, um das Funktion des Getline () -Funktion zu erläutern. Sie können das Linux -Betriebssystem zur Ausarbeitung verwenden. Wir haben mehrere Beispiele erklärt, um die Arbeit dieser Funktion zu erklären. Jedes Beispiel zeigt die Arbeit dieser Funktion unterschiedlich.