【发布时间】:2014-05-03 07:44:26
【问题描述】:
我在内存中有这个字符串,我想将其打印到终端或日志文件 - 不会出现垃圾/不可打印字符,这会限制我的风格。所以,而不是
my_output_stream << my_string;
我想做
my_output_stream << sanitize(my_string);
或许
sanitize_to(my_output_stream, my_string);
是否有一些惯用/标准的工具可以做到这一点?
【问题讨论】:
-
如何在字符串中获取垃圾值?事先检查那里发生的事情不是更好吗?要进行清理,您可能需要检查可打印的字符,并将它们替换为 s.th。人类可读(如转义字符表示)。
-
@πάνταῥεῖ:由于各种错误,我可以将它们放在我的字符串中:-)
-
对于记录器类等来说绝对有意义,但正如我在答案中提出的补充内容中提到的那样,您可能会给出可打印的表示,而不是“扔掉”不可打印的字符。
标签: c++ string output sanitization idioms