cplusplus.com cplusplus.com
cplusplus.com   C++ : Reference : IOstream Library : manipulators : skipws
  Search:
- -
C++
Information
Documentation
Reference
Articles
Sourcecode
Forums
Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Miscellaneous
IOstream Library
manipulators
classes:
· filebuf
· fstream
· ifstream
· ios
· iostream
· ios_base
· istream
· istringstream
· ofstream
· ostream
· ostringstream
· streambuf
· stringbuf
· stringstream
objects:
· cerr
· cin
· clog
· cout
types:
· fpos
· streamoff
· streampos
· streamsize
manipulators
boolalpha
dec
endl
ends
fixed
flush
hex
internal
left
noboolalpha
noshowbase
noshowpoint
noshowpos
noskipws
nounitbuf
nouppercase
oct
resetiosflags
right
scientific
setbase
setfill
setiosflags
setprecision
setw
showbase
showpoint
showpos
skipws
unitbuf
uppercase
ws

-

skipws manipulator function
ios_base& skipws ( ios_base& str );
<ios>

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

// 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:

123
1
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 (manipulator 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)

Home page | Privacy policy
© cplusplus.com, 2000-2008 - All rights reserved - v2.2
Spotted an error? contact us