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
См. также
|
(устарело в 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