Scroll to navigation

std::skipws,std::noskipws(3) C++ Standard Libary std::skipws,std::noskipws(3)

NAME

std::skipws,std::noskipws - std::skipws,std::noskipws

Synopsis


Defined in header <ios>
std::ios_base& skipws( std::ios_base& str ); (1)
std::ios_base& noskipws( std::ios_base& str ); (2)


Enables or disables skipping of leading whitespace by the formatted input functions
(enabled by default). Has no effect on output.


1) enables the skipws flag in the stream str as if by calling
str.setf(std::ios_base::skipws)


2) disables the skipws flag in the stream str as if by calling
str.unsetf(std::ios_base::skipws)


The whitespace skipping is performed by the constructor of
std::basic_istream::sentry, which reads and discards the characters classified as
whitespace by the std::ctype facet of the stream's imbued locale.


This is an I/O manipulator, it may be called with an expression such as out <<
std::noskipws for any out of type std::basic_ostream or with an expression such as
in >> std::noskipws for any in of type std::basic_istream.

Parameters


str - reference to I/O stream

Return value


str (reference to the stream after manipulation)

Example

// Run this code


#include <iostream>
#include <sstream>
int main()
{
char c1, c2, c3;
std::istringstream("a b c") >> c1 >> c2 >> c3;
std::cout << "Default behavior: c1 = " << c1 << " c2 = " << c2 << " c3 = " << c3 << '\n';
std::istringstream("a b c") >> std::noskipws >> c1 >> c2 >> c3;
std::cout << "noskipws behavior: c1 = " << c1 << " c2 = " << c2 << " c3 = " << c3 << '\n';
}

Output:


Default behavior: c1 = a c2 = b c3 = c
noskipws behavior: c1 = a c2 = c3 = b

See also


resetiosflags clears the specified ios_base flags
(function)
setiosflags sets the specified ios_base flags
(function)
ws consumes whitespace
(function template)

2022.07.31 http://cppreference.com