std::getline
Определено в заголовочном файле <string>
|
||
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>& input, |
(1) | |
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>&& input, |
(1) | (начиная с C++11) |
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>& input, |
(2) | |
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>&& input, |
(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 << ", приятно познакомиться."; }
Вывод:
Как вас зовут? Джон К. Паблик Здравствуйте, Джон К. Паблик, приятно познакомиться.