Is the behavior of writing a non-printing character undefined or implementation-defined, if the character is written via printf
/fprintf
? I am confused because the words in the C standard N1570/5.2.2 only talks about the display semantics for printing characters and alphabetic escape sequences.
In addition, what if the character is written via std::ostream
(C++ only)?
The output of ASCII non-printable (control) characters is implementation defined.
Specifically, interpretation is the responsibility of the output device.
Edit 1:
When the output device is opened as a file, it can be opened as
binary
. When opened asbinary
the output is not translated (e.g. line endings).