std::getline
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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 << ", приятно познакомиться.";
}
Вывод:
Как вас зовут? Джон К. Паблик
Здравствуйте, Джон К. Паблик, приятно познакомиться.