std:: skipws, std:: noskipws
|
Определено в заголовке
<ios>
|
||
|
std::
ios_base
&
skipws
(
std::
ios_base
&
str
)
;
|
(1) | |
|
std::
ios_base
&
noskipws
(
std::
ios_base
&
str
)
;
|
(2) | |
Включает или отключает пропуск начальных пробельных символов функциями форматированного ввода (включено по умолчанию). Не влияет на вывод.
skipws
в потоке
str
как если бы был вызван
str.
setf
(
std::
ios_base
::
skipws
)
.
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
Смотрите также
|
очищает указанные флаги ios_base
(функция) |
|
устанавливает указанные флаги
ios_base
(функция) |
|
|
потребляет пробельные символы
(шаблон функции) |