在C / C ++中编写非打印字符的行为是什么?
如果字符是通过printf
/ fprintf
编写的,那么编写非打印字符的行为是未定义的还是实现定义的? 我很困惑,因为C标准N1570 / 5.2.2中的单词仅涉及打印字符和字母转义序列的显示语义。
另外,如果字符是通过std::ostream
(仅限C ++)编写的,该怎么办?
ASCII不可打印(控制)字符的输出是实现定义的。
具体而言,解释是输出设备的责任。
编辑1:
当输出设备作为文件打开时,它可以作为binary
打开。 当以binary
打开时,输出不会被转换(例如行结尾)。