Spec-Zone.ru › C++

std::ends

Определён в заголовочном файле <ostream>
template< class CharT, class Traits >
std::basic_ostream<CharT, Traits>& ends( std::basic_ostream<CharT, Traits>& os );

Вставляет нулевой символ в выходную последовательность os, как если бы была вызвана функция os.put(CharT()).

Это манипулятор ввода-вывода только для вывода; его можно вызвать с выражением, например out << std::ends, для любого out типа std::basic_ostream.

Примечания

Этот манипулятор обычно используется с std::ostrstream, когда связанный выходной буфер должен завершаться нулевым символом, чтобы его можно было обработать как строку C.

В отличие от std::endl, этот манипулятор не сбрасывает поток.

Параметры

os - ссылка на выходной поток

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

os (ссылка на поток после вставки нулевого символа).

Пример

#include <cstdio>
#include <strstream>

int main()
{
    std::ostrstream oss;
    oss << "Sample text: " << 42 << std::ends;
    std::printf("%s\n", oss.str());
    oss.freeze(false); // enable memory deallocation
}

Вывод:

Sample text: 42

См. также

ostrstream
(устарело в C++98)(удалено в C++26)
реализует операции вывода в массив символов
(класс)

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

Spec-Zone.ru

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