È quello che fa normalmente
codice:
cin >> s;
quando s è di tipo string o char *. Ad esempio
codice:
#include <iostream>
using namespace std;

int main(void) {
    string s;
    int i = 0;
    do {
        cin >> s;
        cout << ++i << ": " << s << endl;
    } while(!cin.eof());
    return 0;
}