【发布时间】:2012-11-29 02:37:33
【问题描述】:
我有一个程序会不时输出控制字符,我希望它们以插入符号打印并以蓝色着色(如vim)。现在,我使用一个函数调用boost::algorithm::replace_all() 来处理我能想到的每个控制字符(^A 到^Z,加上^@ 和其他一些字符),然后再打印它。
有没有更好的方法来做到这一点?我目前的解决方案似乎变通了,而且容易出错。
【问题讨论】:
-
您的程序是否只输出 ASCII 范围内的字符(
\x00到\x7F)?如果不是——你想如何处理超出该范围的字符? -
在大多数情况下,是的,但偶尔会有省略号字符和其他内容。在这种情况下,ASCII 范围之外的字符可能应该被单独保留——当前设置可以很好地处理这些字符。
标签: c++ string formatting escaping