Функция getline
Функция getline читает строку из
входного потока до символа-разделителя
и сохраняет её в строковую переменную.
Символ-разделитель при этом из потока
извлекается, но в строку не записывается.
В первый параметр мы передаем входной
поток, откуда следует читать, во второй -
переменную, куда нужно записать результат,
а в третий необязательный параметр - символ-разделитель
(по умолчанию это символ новой строки '\n').
Синтаксис
getline(stream, str, [delim])
Пример
Давайте прочитаем строку из стандартного ввода до символа новой строки и выведем её на экран:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
cout << str << endl;
return 0;
}
Если ввести строку "abcde", то
результат выполнения кода будет таким:
"abcde"
Пример
Давайте прочитаем строку из стандартного
ввода до символа-разделителя ' '
(пробела) и выведем её на экран:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str, ' ');
cout << str << endl;
return 0;
}
Если ввести строку "abcde 12345",
то результат выполнения кода будет таким:
"abcde"