如何在c++中打印/cout不可打印/控制字符
How to print/cout unprintable/control characters in c++?
我有一个包含不可打印/控制字符的字符串-
222!,306G6qh341Pp210;2412619}222+"340315364ƅ3442642152303130ZG!214344y307W(254Y^213F234oz263V^2742453 L
这个字符串的值来自一个函数,每次运行程序时都会有所不同。
有什么方法可以printf
/cout
这个字符串吗?
只需将它们打印为十六进制,类似于[通过反馈编辑]:
#include <ctype.h>
for( char c : str )
if (isprint(c))
if (c = '')
std::cout << "\\";
else
std::cout << c;
else
std::cout << " x" << std::hex
<< static_cast<int>(static_cast<unsigned char>(c));
循环字符串,对于每个字符,如果它在您认为"可打印"的范围内,则打印它。否则,输出您选择的一些替代表示;可能是一个反斜杠,后面跟着一个三位数的八进制数字,以整数形式表示字符的值。
相关文章:
- 如何打印 2D 字符数组C++
- 首先按给定顺序打印所有数字,然后使用 Array 打印所有字符和其他符号
- C++:打印 Unicode 字符
- xcode 从源代码中删除奇怪的控制字符
- 有没有一种方法可以使用图形在C++中逐个字母地打印控制台中的文本
- 将矢量的整数内容打印为字符串会导致分割错误
- 删除以前打印的字符
- 解压缩 TIFF 数据会打印随机字符
- 如何打印一个字符阵列和其中的特定字符
- 为什么一次打印一个字符比提前连接它们慢
- 如何使该程序在数组中打印搜索字符的索引,否则将找不到它
- cout 打印的字符 [] 包含的字符数超过设置长度
- 我的 c++ 程序不打印任何字符,但是如果我将它们更改为 int,代码可以完美运行
- 将字符串复制到C 中的另一个字符串并打印其字符
- TCP是否支持不可打印的字符
- 如何在Windows日语系统中打印日语字符
- 在C++中打印 2D 字符数组
- iostreams - 将"wchar_t"或"charXX_t"值打印为字符
- 如何以可读格式打印控制字符
- 如何在c++中打印/cout不可打印/控制字符