c++ string cin

c++ - ¿Cómo leer cin con espacios en blanco hasta un carácter de nueva línea?



string (1)

std::string str; std::getline( std::cin, str);

Deseo leer desde cin en C ++ desde la posición actual hasta un carácter de nueva línea en una cadena. Los caracteres a leer pueden incluir espacios. Mi primer paso falla porque se detiene en el primer espacio:

string result; cin >> result;

Si se da cin:

(cd /my/dir; doSometing)/n

El resultado variable solo obtiene:

(cd

Creo que debería ser capaz de usar los manipuladores de flujo para lograr esto, pero el error no fue del todo correcto en cuanto a que arroja retornos de carro con espacios y pestañas, además de que suena así para el espacio en blanco inicial que se va a omitir.

Tal vez necesito usar streambuf algo como esto?

streambuf buf; cin >> buf;