Fuck endl, all my homies hate endl
bloods 4 lyfe
print('string\n', end='')
Simple.
\n
when you just want a newline.
endl
when you need to flush at the moment.Useful in case you are printing a debug output right before some function that might do bed stuff to buffers.
Edit: I wrote
println
instead ofendl
somehow. Guess I need more downtimeI only program in C. I was under the assumption that \n also flushes
It depends on whether you are printing to a terminal or to a file (and yes the terminal is also a file), and even then you can control the flushing behaviour using something like
unbuffer
I remember having to
fflush
a couple of times.
printf
is superior and more concise, andsnprintf
is practically the only C string manipulation function that is not painful to use.Try to print a 32-bit unsigned int as hexadecimal number of exactly 8 digits, using
cout
. You can dostd::hex
andstd::setw(8)
andstd::setfill('0')
and don’t forget to usestd::dec
afterwards, or you can just, you know,printf("%08x")
like a sane person.Just don’t forget to use
-Werror=format
but that is the default option on many compilers today.C++23 now includes
std::print
which is exactly likeprintf
but better, so the whole argument is over.As long as it doesn’t end in ;