在C/C++中写一个非打印字符是什么行为?

What is the behavior of writing a non-printing character in C/C++?

如果字符是通过 printf/fprintf 写入的,那么写入非打印字符的行为是未定义的还是实现定义的?我很困惑,因为C标准N1570/5.2.2中的单词只谈到了打印字符和字母转义序列的显示语义。

此外,如果字符是通过std::ostream(仅限C++)编写的怎么办?

ASCII non-printable(控制)字符的输出是实现定义的。

具体来说,解释是输出设备的责任。

编辑 1:
当输出设备作为文件打开时,它可以作为binary打开。当以 binary 打开时,输出不会被翻译(例如行尾)。