Spec-Zone.ru › C++

std::skipws, std::noskipws

Определён в заголовочном файле <ios>
std::ios_base& skipws( std::ios_base& str );
(1)
std::ios_base& noskipws( std::ios_base& str );
(2)

Включает или отключает пропуск начальных пробельных символов форматированными функциями ввода (включён по умолчанию). Не влияет на вывод.

1) Включает флаг skipws в потоке str, как если бы была вызвана функция str.setf(std::ios_base::skipws).
2) Отключает флаг skipws в потоке str, как если бы была вызвана функция str.unsetf(std::ios_base::skipws).

Пропуск пробельных символов выполняется конструктором std::basic_istream::sentry, который считывает и отбрасывает символы, классифицированные как пробельные фасетом std::ctype локали, используемой потоком.

Это манипулятор ввода-вывода. Его можно вызвать с помощью выражения, например out << std::noskipws, для любого out типа std::basic_ostream, или выражения, например in >> std::noskipws, для любого in типа std::basic_istream.

Параметры

str - ссылка на поток ввода-вывода

Возвращаемое значение

str (ссылка на поток после применения манипулятора).

Пример

#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';
}

Вывод:

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

См. также

resetiosflags
сбрасывает указанные флаги ios_base
(функция)
setiosflags
устанавливает указанные флаги ios_base
(функция)
ws
считывает пробельные символы
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/manip/skipws

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API