std:: ends

From cppreference.com
< cpp ‎ | io ‎ | manip
Defined in header <ostream>
template < class CharT, class Traits >
std:: basic_ostream < CharT, Traits > & ends ( std:: basic_ostream < CharT, Traits > & os ) ;

Inserts a null character into the output sequence os as if by calling os. put ( CharT ( ) ) .

This is an output-only I/O manipulator, it may be called with an expression such as out << std :: ends for any out of type std::basic_ostream .

Notes

This manipulator is typically used with std:: ostrstream , when the associated output buffer needs to be null-terminated to be processed as a C string.

Unlike std::endl , this manipulator does not flush the stream.

Parameters

os - reference to output stream

Return value

os (reference to the stream after insertion of the null character).

Example

#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
}

Output:

Sample text: 42

See also

(deprecated in C++98) (removed in C++26)
implements character array output operations
(class)