What is the behavior of writing a non-printing cha

2020-03-31 02:31发布

问题:

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)?

回答1:

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 as binary the output is not translated (e.g. line endings).