Namespaces
Variants

operator<< (std::basic_string_view)

From cppreference.net
Определено в заголовочном файле <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)

Ведут себя как FormattedOutputFunction . После создания и проверки объекта-сторожа, определяет заполнение выходного формата .

Затем сохраняет каждый символ из результирующей последовательности 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 сохраняются до изменения
    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 сбрасывается после каждого вызова
    std::cout << '[' << s << "]\n";
}

Вывод:

[abc--]
[abc--]
[--abc]
[abc]

Смотрите также

выполняет ввод и вывод строк в потоки
(шаблон функции)