C ++ funkcja getline

C ++ funkcja getline
Getline () służy do uzyskania ciągu wejściowego od użytkownika w jednym lub większej liczbie linii, dopóki nie pojawi się znak specjalny (delimiter). Jest to predefiniowana funkcja i używa biblioteki w programie, ponieważ jej definicja jest obecna w pliku nagłówka biblioteki.
#

W tym artykule wyjaśniono wiele podstawowych przykładów wyjaśniających działanie funkcji getline ().

Warunek wstępny

Użyliśmy 20.04 Wersja Ubuntu; Możesz użyć najnowszego. W przypadku implementacji musisz mieć edytor tekstu i uzyskać dostęp do terminalu Linux, ponieważ będziemy mogli zobaczyć wyjście kodów źródłowych na terminalu przez zapytanie.

Składnia funkcji getline ()

Funkcja getline () jest wyjaśniona na podstawie parametrów używanych w funkcji getline.

# Istream & getline (Istream & Is, String & Str, char

Teraz wyjaśnimy każdy parametr tej składni jeden po drugim.

  • STR: Ten parametr reprezentuje obiekt ciągów, w którym wartość wejściowa jest przechowywana, gdy wartość zaakceptuje ją ze strumienia wejściowego.
  • DeLim: Ten parametr reprezentuje znak, który pokazuje ograniczenie zawierające wartość, do której ma być wyświetlany ciąg wejściowy.

Przykład 1

Ten przykład używa prostego przykładu funkcji getline () w programie. W prostych programach C ++ potrzebujemy biblioteki iostream w prostych programach C ++, ale tutaj oprócz tej biblioteki użyliśmy innej biblioteki, która używa GetLine () w kodzie źródłowym C ++.

# włączać

Przechodząc do programu głównego, zadeklarowana jest tutaj zmienna ciągu, aby zaakceptować komunikat ciągu od użytkownika. Po wykonaniu kodu w terminalu użytkownik przyjdzie, aby zobaczyć wyświetlany komunikat, w którym system prosi użytkownika o wprowadzenie komunikatu String; Ta wiadomość zostanie wyświetlona ponownie po pewnym procesji. Funkcja getline () zaakceptuje zdanie wprowadzone przez użytkownika.

# Getline (cin, wiadomość);

Ta sama wiadomość zostanie wyświetlona bez żadnych zmian. Zastosujemy pewne modyfikacje po wprowadzeniu wartości w przyszłych przykładach.

Zapisz kod w pliku z rozszerzeniem C ++/C.

Wykonaj polecenie w terminalu Ubuntu. Aby skompilować kod źródłowy, potrzebujemy kompilatora. W przypadku kodu C ++ potrzebujemy kompilatora G ++, aby skompilować kod.

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

Po wykonaniu wyświetlany jest komunikat; Musisz wprowadzić swoją wiadomość. Aby system wyświetlił wyjście.

Teraz tutaj podajemy ten sam scenariusz. Jak wiemy, podobnie jak funkcja getline, „CIN” służy również do uzyskania wartości od użytkownika. Ale istnieje pewne wady korzystania z CIN w miejscu lub z funkcją getline. Tutaj użyliśmy przykładu, w którym użyliśmy CIN zamiast Getline, aby zobaczyć efekt tej zmiany. Wszystkie inne rzeczy są takie same. Na przykład biblioteki są takie same. Cały program jest napisany w programie głównym.

Teraz zapisz plik i wykonaj go w terminalu Ubuntu. Kiedy skompilujemy kod, a następnie go wykonamy, system ponownie wymaga od nas wiadomości ciągu. Napiszemy ten sam ciąg. Korzystając z klucza „Enter”, zobaczysz, że cały ciąg nie jest wyświetlany. Wyświetlana jest tylko jedna część łańcucha. Wynika to z faktu, że „CIN” akceptuje wartość z całego ciągu, dopóki nie znajdzie pierwszej przestrzeni. To jest powód, dla którego wyjście jest zmniejszone z oryginalnego. Aby zaakceptować cały ciąg, użyj funkcji getline (). Skompiluj kod, a następnie wykonaj go.

Przykład 2

W poprzednim przykładzie, podobnie jak za pomocą „CIN”, ograniczyliśmy wartość. Ale to oczywiste w „CIN”; Wartość jest zawsze redukowana do pierwszej pustej ślepej w danym ciągu. Ale w tym przykładzie, używając funkcji getline (), ograniczyliśmy wartość w instrukcji wejściowej, stosując specjalny warunek. Zgodnie z danym warunkiem zapewniamy alfabet w programie. Po wykonaniu kodu, gdy ten alfabet pojawi się w całym ciągu po raz pierwszy, kompilator przestaje drukować cały ciąg, a kawałek ciągów od samego początku, aż alfabet jest wyświetlany na ekranie w wyniku wynikającej z tego wartości.

# Getline (cin, wiadomość, „i”);

W tym przykładzie widać, że użyliśmy „i” w funkcji getline () w kodzie źródłowym. Możesz użyć dowolnego innego alfabetu własnego wyboru.

Teraz, po kompilacji, wykonaj kod na terminalu. Z wynikającej z tego wartości jasno wynika, że ​​użyliśmy „I” w ciągu wejściowego, więc alfabety pojawiające się przed tym alfabetem pojawią się jako wyjście.

Przykład 3

W tym przykładzie zamiast używać alfabetu do wyświetlania kryteriów, używamy numeru indeksu tutaj. Kompilator przyniesie pożądany rekord zgodnie z numerem indeksu, wykonując to. Numer indeksu podany w funkcji zaprzesta dalszego pobierania rekordu. Na przykład użyliśmy numeru „7”, więc wiadomość zostanie wyświetlona w pozycji 6 w indeksie.

W tym przykładzie zobaczysz również, że istnieje niewielka zmiana w pisaniu funkcji getline (). W poprzednim przykładzie użyliśmy „CIN” w parametrach getline. Ale tym razem zastosowaliśmy inną technikę pisania tej funkcji.

# Cin.getline (wiadomość, 7);

Kiedy wykonamy kod, zobaczymy, że wprowadziliśmy nazwę z dwoma słowami z przestrzenią między nimi. Ale po ubieganiu się o program zobaczymy, że nazwa jest wyświetlana do 6. pozycji indeksu.

Przykład 4

Ten przykład wyświetli ciąg, aby każde słowo zostało wyświetlone w następnym wierszu. W tym przykładzie używa nowej biblioteki zamiast innych, ponieważ funkcja tej biblioteki zawiera już strumieniowanie wejściowe/ wyjściowe. A także umożliwia czytanie i pisanie w pliku. Obejmuje to również wyświetlanie wartości łańcucha bitowego. Daj nam znać, aby zrozumieć przykład. Jedna zmienna otrzymuje wartość dostarczoną przez użytkownika za pośrednictwem funkcji getline. Druga zmienna pomaga podzielić słowa w ciągu i przenieść je do następnego wiersza.

# Getline (cin, s);

Po uzyskaniu wartości ta wartość dzieli wartość i umieszcza ją w innej zmiennej „x”. dla funkcji wyświetlania; Użyjemy tutaj pewnego czasu pętli.

# StringStream x (s);

Zgodnie z pętlą wartość zostanie wydrukowana do momentu obecności wartości w instrukcji. Ciało pętli bierze jedno słowo z pełnego zdania i przecina je tam, gdzie przestrzeń jest obecna lub jest pierwsza. Ten warunek jest podawany w pętli.

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

Możesz zobaczyć wynikową wartość, wykonując kod po kompilacji.

Wniosek

W tym artykule pokazano niektóre podstawowe przykłady wyjaśniające koncepcję funkcji getline (). Możesz użyć systemu operacyjnego Linux do opracowania. Wyjaśniliśmy kilka przykładów, aby wyjaśnić działanie tej funkcji. Każdy przykład przedstawia działanie tej funkcji inaczej.