function
std::skipws
<ios>
ios_base& skipws ( ios_base& str );
Skip whitespaces
Sets the
skipws format flag for the
str stream.
When the
skipws format flag is set, as many whitespace characters as necessary are read and discarded from the stream until a non-whitespace character is found before every extraction operation. Tab spaces, carriage returns and blank spaces are all considered whitespaces.
This flag can be unset with the
noskipws manipulator, forcing extraction operations to consider leading whitepaces as part of the content to be extracted.
The
skipws flag is
set in standard streams on initialization.
Parameters
- str
- Stream object where to apply.
Because this function is a manipulator, it is designed to be used alone with no arguments in conjunction with the insertion (<<) and extraction (>>) operations on streams (see example below).
Return Value
A reference to the stream object.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
// skipws flag example
#include <iostream>
#include <sstream>
using namespace std;
int main () {
char a, b, c;
istringstream iss (" 123");
iss >> skipws >> a >> b >> c;
cout << a << b << c << endl;
iss.seekg(0);
iss >> noskipws >> a >> b >> c;
cout << a << b << c << endl;
return 0;
}
|
The execution of this example displays something similar to:
Notice that in the first set of extractions, the leading spaces were ignored, while in the second they were extracted as regular characters.
See also
- noskipws
- Do not skip whitespaces (function)
- ios_base::flags
- Get/set format flags (public member function)
- ios_base::setf
- Set specific format flags (public member function)
- ios_base::unsetf
- Clear specific format flags (public member function)