operator<<(std::basic_string_view)
Определено в заголовочном файле <string_view> | ||
|---|---|---|
template< class CharT, class Traits >
std::basic_ostream<CharT, Traits>&
operator<<( std::basic_ostream<CharT, Traits>& os,
std::basic_string_view<CharT, Traits> v );
| (начиная с C++17) |
Ведёт себя как функция форматированного вывода. После создания и проверки объекта sentry определяет форматирование заполнения выходных данных.
Затем записывает каждый символ из результирующей последовательности seq (содержимого v с заполнением) в выходной поток os, как если бы был вызван os.rdbuf()->sputn(seq, n), где n — это std::max(os.width(), str.size()).
Наконец, вызывает os.width(0), чтобы отменить эффекты std::setw, если они есть.
Исключения
Может выбросить std::ios_base::failure, если во время вывода выбрасывается исключение.
Параметры
| os | - | поток вывода символов |
| v | - | представление, которое требуется вставить |
Возвращаемое значение
os
Пример
#include <iomanip>
#include <iostream>
#include <string_view>
int main()
{
constexpr std::string_view s{"abc"};
constexpr int width{5};
// fill/left/right properties are kept until changed
std::cout << std::setfill('-');
std::cout << std::left;
std::cout << '[' << std::setw(width) << s << "]\n";
std::cout << '[' << std::setw(width) << s << "]\n";
std::cout << std::right;
std::cout << '[' << std::setw(width) << s << "]\n";
// width is reset after each call
std::cout << '[' << s << "]\n";
}
Вывод:
[abc--] [abc--] [--abc] [abc]
См. также
| выполняет ввод и вывод строк в потоках (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/basic_string_view/operator_ltlt