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)
реализует операции вывода в массивы символов
(класс)

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

Spec-Zone.ru

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