функция getline () и массив символов

Опубликовано: 31 Декабря, 2021

Предварительное условие: getline (строка) в C ++
В C ++ классы потоков поддерживают строчно-ориентированные функции, getline () и write () для выполнения функций ввода и вывода соответственно. Функция getline () считывает всю строку текста, которая заканчивается новой строкой или до тех пор, пока не будет достигнут максимальный предел. getline () является функцией-членом класса istream и имеет синтаксис:

// (буфер, размер_потока, разделитель)
istream и getline (char *, int size, char = ' n')

// Символ-разделитель рассматривается как ' n'
istream и getline (символ *, размер целого числа)

Функция выполняет следующие операции:
1. Извлекает символ до разделителя.
2. Сохраняет символы в буфере.
3. Максимальное количество извлекаемых символов size - 1.
Обратите внимание, что символ терминатора (или разделителя) может быть любым символом (например, '', ',' или любым специальным символом и т. Д.). Знак терминатора читается, но не сохраняется в буфере, вместо этого он заменяется нулевым символом .

// C++ program to show the getline() with
// character array
#include <iostream>
using namespace std;
int main()
{
char str[20];
cout << "Enter Your Name::" ;
// see the use of getline() with array
// str also replace the above statement
// by cin >> str and see the difference
// in output
cin.getline(str, 20);
cout << " Your Name is:: " << str;
return 0;
}

Вход :

 Адитья Рахеча

Выход :

 Ваше имя: Адитья Рахеча.

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

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++