Есть ли функция, которая действует как getline для строк?

Я хотел бы прочитать строку символов, пока не достигну запятой, а затем сохранить ее в другой строке.

Я пытался использовать функцию getline, но, насколько мне известно, она работает только с cin или с файлом, но не со строкой. Кто-нибудь знает функцию, которая может служить как getline, но для строк? Я оставляю попытку ниже в коде, спасибо заранее.

string paciente="Juan,34,hombre";
string nombre;
getline(paciente,nombre,','); //leo hasta la primera coma e inserto Juan en la cadena paciente
2
задан 27.11.2019, 19:13
1 ответ

Ты можешь использовать std::stringstream. Этот класс не mÃ: s, что stream в памяти. Ввиду того, что у него есть тот же интерфейс, что и std::cin, смоги быть использованным getline без проблем:

#include <sstream> // std::stringstream

std::stringstream ss;
ss << "Juan,34,hombre";

std::string nombre;
std::getline(ss, nombre, ',');

std::cout << nombre;
3
ответ дан 01.12.2019, 10:46