Функция getline
Функция getline читает строку из входного потока
и сохраняет её в переменную типа string. Чтение
происходит до символа-разделителя, которым по умолчанию
является символ перевода строки '\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"
Пример
Давайте прочитаем две строки из стандартного ввода и выведем их на экран:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1, str2;
getline(cin, str1);
getline(cin, str2);
cout << str1 << endl;
cout << str2 << endl;
return 0;
}
Если ввести "abcde" и "12345", результат выполнения кода будет:
"abcde"
"12345"