std::skipws, std::noskipws
Определено в заголовке <ios> | ||
|---|---|---|
std::ios_base& skipws( std::ios_base& str ); | (1) | |
std::ios_base& noskipws( std::ios_base& str ); | (2) |
Включает или отключает пропуск начальных пробелов функциями форматированного ввода (по умолчанию включено). Не оказывает влияния на вывод.
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
См. также
| очищает указанные флаги ios_base (функция) |
|
устанавливает указанные флаги ios_base (функция) |
|
| потребляет пробелы (функция-шаблон) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/manip/skipws