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.
First, constructs a std::basic_istream::sentry object with noskipws set to true. Afterwards, if good()==false, calls setstate(failbit) and returns. Otherwise, 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.
Contents |
[edit] Parameters
is | - | reference to input stream |
[edit] Return value
is (reference to the stream after extraction of consecutive whitespace)
[edit] Example
#include <iostream> #include <sstream> int main() { std::istringstream s(" this is a test"); std::string line; s >> std::ws; getline(s, line); std::cout << "ws + getline returns: \"" << line << "\"\n"; }
Output:
ws + getline returns: "this is a test"
[edit] See also
extracts and discards characters until the given character is found (public member function of std::basic_istream) |