Функция Getline C++

Конструктор копирования в C++ Изучение

Getline () используется для получения входной строки от пользователя в одной или нескольких строках до тех пор, пока не появится специальный символ (разделитель). Это предопределенная функция, которая использует библиотеку в программе, поскольку ее определение присутствует в файле заголовка библиотеки.

# <string.h>

В этой статье будет объяснено множество основных примеров, объясняющих работу функции getline ().

Предварительное условие

Мы использовали версию Ubuntu 20.04; вы можете использовать последнюю версию. Для реализации вам понадобится текстовый редактор и доступ к терминалу Linux, потому что мы сможем видеть вывод исходных кодов на терминале через запрос.

Синтаксис функции getline ()

Функция getline () объясняется на основе параметров, которые используются внутри функции getline.

# istream& getline( istream& is, string& str, char delim )

Теперь мы объясним каждый параметр этого синтаксиса один за другим.

  • Str: этот параметр представляет строковый объект, в котором сохраняется входное значение, когда значение принимает его из входного потока.
  • Delim: этот параметр представляет символ, который показывает разделитель, содержащий значение, до которого должна отображаться входная строка.

Пример 1

В этом примере используется простой пример функции getline () в программе. В простых программах на C ++ нам нужна библиотека iostream в простых программах на C ++, но здесь, помимо этой библиотеки, мы использовали другую библиотеку, которая использует getline () в исходном коде C ++.

# include <string.h>

Подойдя к основной программе, здесь объявляется строковая переменная для приема строкового сообщения от пользователя. Когда мы выполняем код в терминале, пользователь увидит отображаемое сообщение, в котором система просит пользователя ввести строковое сообщение; это сообщение будет отображаться снова после некоторого шествия. Функция getline () примет предложение, введенное пользователем.

# Getline (cin, message ) ;

То же сообщение будет отображаться без каких-либо изменений. Мы внесем некоторые изменения после того, как значение будет введено в будущих примерах.

Сохраните код в файле с расширением C ++ / c.

Сохраните код в файле с расширением C ++

Выполните команду в терминале Ubuntu. Для компиляции исходного кода нам понадобится компилятор. Для кода C ++ нам понадобится компилятор G ++ для компиляции кода.

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

После выполнения отображается сообщение; вам нужно ввести ваше сообщение. Чтобы система отображала вывод.

выполнения отображается сообщение; вам нужно ввести ваше

Теперь мы предлагаем тот же сценарий по-разному. Как мы знаем, как и функция getline, cin также используется для получения значения от пользователя. Но есть некоторые недостатки использования cin вместо функции getline или вместе с ней. Здесь мы использовали пример, в котором мы использовали cin вместо getline, чтобы увидеть эффект этого изменения. Все остальное то же самое. Например, библиотеки такие же. Вся программа написана внутри основной программы.

Как мы знаем, как и функция getline, cin также используется для получения

Теперь сохраните файл и запустите его в терминале Ubuntu. Когда мы компилируем код и затем выполняем его, система снова потребует от нас строковое сообщение. Мы напишем такую ​​же строку. Используя клавишу «ENTER», вы увидите, что вся строка не отображается. Отображается только одна часть строки. Это потому, что «cin» принимает значение из всей строки, пока не найдет первый пробел. Это причина того, что выходная мощность меньше оригинальной. Чтобы принять всю строку, используйте функцию getline (). Скомпилируйте код и затем выполните его.

Это причина того, что выходная мощность меньше оригинальной

Пример 2

В предыдущем примере, как и в случае использования cin, мы ограничили значение. Но в «cin» это очевидно; значение всегда уменьшается до первого пробела в данной строке. Но в этом примере с помощью функции getline () мы ограничили значение в операторе ввода, применив особое условие. По заданному условию в программе мы предоставляем алфавит. При выполнении кода, когда этот алфавит появляется во всей строке впервые, компилятор перестает печатать всю строку, и фрагмент строки от начала до этого алфавита отображается на экране в качестве результирующего значения.

# Getline(cin, message, ‘I’);

В этом примере вы можете видеть, что мы использовали «I» в функции getline () внутри исходного кода. Вы можете использовать любой другой алфавит по своему усмотрению.

В этом примере вы можете видеть, что мы использовали «I»

Теперь, после компиляции, выполните код на терминале. Из полученного значения ясно, что мы использовали «I» во входной строке, поэтому алфавиты, которые идут перед этим алфавитом, будут отображаться как выходные.

Теперь, после компиляции, выполните код на терминале

Пример 3

В этом примере вместо использования алфавита для отображения критериев мы используем здесь порядковый номер. При этом компилятор получит желаемую запись в соответствии с порядковым номером. Номер индекса, указанный в функции, прекратит дальнейшую выборку записи. Например, мы использовали число «7», поэтому сообщение будет отображаться в позиции 6 в индексе.

В этом примере вы также увидите, что есть небольшое изменение в написании функции getline (). В предыдущем примере мы использовали cin внутри параметров getline. Но на этот раз мы использовали другую технику написания этой функции.

# Cin.getline( message, 7 );

В этом примере вы также увидите, что есть небольшое изменение в написании функции getline ()

Когда мы выполним код, мы увидим, что мы ввели имя, состоящее из двух слов с пробелом между ними. Но подав заявку на участие в программе, мы увидим, что название отображается до 6 позиции индекса.

Но подав заявку на участие в программе, мы увидим

Пример 4

В этом примере будет отображаться строка, так что каждое слово будет отображаться на следующей строке. В этом примере используется новая библиотека вместо других, поскольку функция этой библиотеки уже включает потоковую передачу ввода / вывода. А также позволяет читать и писать в файл. Это также включает побитовое отображение значений строки. Дайте нам знать, чтобы понять пример. Одна переменная получает значение, предоставленное пользователем через функцию getline. Другая переменная помогает разделить слова в строке и переместить их на следующую строку.

# Getline (cin, s);

После получения значения это значение затем делит значение и помещает его в другую переменную «x». для функции отображения; мы будем использовать здесь цикл while.

# Stringstream X(s);

В соответствии с циклом значение будет печататься до тех пор, пока значение не будет указано в операторе. Тело цикла берет одно слово из полного предложения и разрезает его там, где пробел присутствует или стоит первым. Это условие задается в цикле.

# While (getline(X, T, ‘ ‘))

В соответствии с циклом значение будет печататься до тех пор, пока зн

Вы можете увидеть результирующее значение, выполнив код после компиляции.

можете увидеть результирующее значение, выполнив код после

Заключение

В этой статье показаны некоторые элементарные примеры, объясняющие концепцию функции getline (). Вы можете использовать операционную систему Linux для уточнения. Мы объяснили несколько примеров, чтобы объяснить работу этой функции. В каждом примере работа этой функции изображена по-разному.

Читайте также:  React Query 3: Руководство по получению и управлению данными
Оцените статью
bestprogrammer.ru
Добавить комментарий