std::ws
From cppreference.com
Defined in header <istream>
|
||
template< class CharT, class Traits > std::basic_istream<CharT,Traits>& ws( std::basic_istream<CharT, Traits>& is ); |
||
Discards leading whitespace from an input stream.
Behaves as an UnformattedInputFunction, except that is.gcount() is not modified. After constructing and checking the sentry object, extracts characters from the stream and discards them until any one of the following conditions occurs:
- end of file condition occurs in the input sequence (in which case the function calls setstate(eofbit) but does not set
failbit
.
- the next available character
c
in the input sequence is not whitespace as determined by std::isspace(c, is.getloc()). The non-whitespace character is not extracted.
This is an input-only I/O manipulator, it may be called with an expression such as in >> std::ws for any in
of type std::basic_istream.
Parameters
is | - | reference to input stream |
Return value
is
(reference to the stream after extraction of consecutive whitespace)
Example
Run this code
#include <iostream> #include <istream> #include <sstream> #include <string> int main() { std::istringstream s(" this is a test"); std::string line; std::getline(s >> std::ws, line); std::cout << "ws + getline returns: \"" << line << "\"\n"; }
Output:
ws + getline returns: "this is a test"
See also
extracts and discards characters until the given character is found (public member function of std::basic_istream ) |