Пространства имён
Варианты
Действия

std::getline

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-элементы
Доступ к элементам
Итераторы
Ёмкость
Операции
Поиск
Константы
Правила вывода (C++17)
Функции, не являющиеся элементами
Ввод/Вывод
getline
Сравнение
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Числовые преобразования
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Вспомогательные классы
 
Определено в заголовочном файле <string>
template< class CharT, class Traits, class Allocator >

std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>& input,
                                           std::basic_string<CharT,Traits,Allocator>& str,

                                           CharT delim );
(1)
template< class CharT, class Traits, class Allocator >

std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>&& input,
                                           std::basic_string<CharT,Traits,Allocator>& str,

                                           CharT delim );
(1) (начиная с C++11)
template< class CharT, class Traits, class Allocator >

std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>& input,

                                           std::basic_string<CharT,Traits,Allocator>& str );
(2)
template< class CharT, class Traits, class Allocator >

std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>&& input,

                                           std::basic_string<CharT,Traits,Allocator>& str );
(2) (начиная с C++11)

Считывает неформатированные данные из потока в строку. Останавливается, как только найден символ, равный разделителю, или исчерпан поток. Первая версия использует в качестве разделителя delim, вторая — '\n'. Символ-разделитель удаляется из потока и не помещается в строку.

[править] Параметры

input поток, из которого считываются данные
str строка, в которую считываются данные
delim символ-разделитель

[править] Возвращаемое значение

input

[править] Пример

Следующая программа спрашивает у пользователя его имя и затем приветствует, используя это имя.

#include <string>
#include <iostream>
 
int main()
{
    std::string name;
    std::cout << "Как вас зовут? ";
    std::getline(std::cin, name);
    std::cout << "Здравствуйте, " << name << ", приятно познакомиться.";
}

Вывод:

Как вас зовут? Джон К. Паблик
Здравствуйте, Джон К. Паблик, приятно познакомиться.