this post was submitted on 05 Apr 2025
164 points (95.6% liked)
Programmer Humor
34850 readers
495 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The same is true of std::endl. std::endl is simply defined as
<< '\n' << std::flush
; nothing more, nothing less. In all cases where endl gives you a "properly translated" newline, so does\n
.Ahhh, I see. Looks like the magic happens somewhere further down in iostream.
It's controlled by whether the stream's opened in text mode or binary mode. On Unix, they're the same, but on Windows, text mode has line ending conversion.
Yeah it's an artificial dichotomy based on a popular misconception of what std::endl is and how \n is interpreted.
Ultimately it does not ask about line endings, but about flushing, which is a completely orthogonal question.