std::ends
From cppreference.com
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.
Contents |
[edit]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.
[edit]Parameters
os | - | reference to output stream |
[edit]Return value
os (reference to the stream after insertion of the null character).
[edit]Example
Run this code
#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
[edit]See also
(deprecated in C++98)(removed in C++26) | implements character array output operations (class) |