Comment lire cin avec des espaces jusqu'à un caractère de nouvelle ligne?

Je tiens à lire à partir de cin en C++ à partir de la position actuelle jusqu'à ce qu'un caractère de saut de ligne dans une chaîne de caractères. La lecture des caractères peut contenir des espaces. Mon premier passage en échec parce qu'il s'arrête sur le premier espace:

string result;

cin >> result;

Si cin est donné:

(cd /my/dir; doSometing)\n

La variable résultat ne s'obtient:

(cd

Je pense que je devrais être en mesure d'utiliser le volet des manipulateurs pour ce faire, mais la skipws n'était pas tout à fait raison en ce qu'il jette des retours chariot dans les espaces et tabulations, plus ça sonne comme ça, c'est pour de grands espaces pour être ignorée.

J'ai peut-être besoin d'utiliser streambuf quelque chose comme cela?

streambuf buf;

cin >> buf;

source d'informationauteur WilliamKF