C/C++

Что делаешь getline в С++? Простым языком и с примером, если можно

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string line;
cout << "Line: ";
getline(cin, line); // считывает строку пока не встретит Enter
cout << line << '\n';
cout << "Line: ";
getline(cin, line, '.'); // считывает строку пока не встретит разделитель
cout << line << '\n';
cin.ignore(cin.rdbuf()->in_avail());
string str = "123.75;-75.012;+82.19;237 42;53";
istringstream iss(str);
string token;
while (getline(iss, token, ';')) { // считывает токены из потока по разделителю
cout << token << '\n';
}
char box[20];
cout << "Array: ";
cin.getline(box, size(box)); // считывает строку символов в массив заданного размера
puts(box);
cout << "Array: ";
cin.getline(box, size(box), '.'); // считывает строку символов в массив заданного размера, пока не встретит разделитель
puts(box);
system("pause > nul");
}
ИМ
Игорь Мухамеджанов
77 868
Лучший ответ
Есть такая вещь - потоки. В простом представлении - это промежуточное хранилище "сырой" информации, то есть это просто набор байтов, но это пока.
Так вот std::getline это функция, она берёт из потока (по умолчанию это поток ввода - консоль) информацию до первого символа перевода строки - обычно '\n' - enter, форматирует её с соответствии с настройками языка проекта и сохраняет в какую-то вашу строковую переменную.

#include <iostream>
#include <string>

int main() {
std::string str;
getline(std::cin, str);
std::cout << std::endl << str << std::endl;
return 0;
}

В этом примере программа читает строку из потока ввода, сохраняет её в переменную str и потом выводит её в поток вывода (консоль).

Тут уже можно расширить свои знания по std::getline
http://www.cplusplus.com/reference/string/string/getline/
Dimas Dimas
Dimas Dimas
1 453