istream& operator>> (istream& is, string& str);
Extract string from stream
Extracts a string from the input stream is, storing the sequence in str, which is overwritten (the previous value of str is replaced).
This function overloads operator>> to behave as described in istream::operator>> for c-strings, but applied to string objects.
Each extracted character is appended to the string as if its member push_back was called.
Notice that the istream extraction operations use whitespaces as separators; Therefore, this operation will only extract what can be considered a word from the stream. To extract entire lines of text, see the string overload of global function getline.
- istream object from which characters are extracted.
- string object where the extracted content is stored.
The same as parameter is.
A call to this function may set any of the internal state flags of is if:
(see ios_base::iostate for more info on these)
|eofbit||The end of the source of characters is reached during its operations.|
|failbit||The input obtained could not be interpreted as a valid textual representation of an object of this type.|
In this case, distr preserves the parameters and internal data it had before the call.
Notice that some eofbit cases will also set failbit.
|badbit||An error other than the above happened.|
Additionally, in any of these cases, if the appropriate flag has been set with is's member function ios::exceptions, an exception of type ios_base::failure is thrown.
// extract to string
std::cout << "Please, enter your name: ";
std::cin >> name;
std::cout << "Hello, " << name << "!\n";
Unspecified, but generally linear in the resulting length of str.
Any iterators, pointers and references related to str may be invalidated.
Both objects, is and str, are modified.
Basic guarantee: if an exception is thrown, both is and str end up in a valid state.