Read strings from user input
The STL provides character-based input from the standard input stream using the std::cin
object. The cin
object is a global singleton that reads input from the console as an istream
input stream.
By default, cin
reads one word at a time until it reaches the end of the stream:
string word{}; cout << "Enter words: "; while(cin >> word) { cout << format("[{}] ", word); } cout << '\n';
Output:
$ ./working Enter words: big light in sky [big] [light] [in] [sky]
This is of limited usefulness, and it may lead some to dismiss cin
as minimally functional.
While cin
certainly has its quirks, it can be easily wrangled into providing line-oriented input.
How to do it…
To get basic line-oriented functionality from cin
, there are two significant behaviors that need to be understood. One is the ability to get a line at a time, instead of a word at a time. The other...