当我打印一个带有%c格式的字符并且字符不像“\ 0”那样无法打印时,则没有打印输出列。如果我使用%1c则相同。或%1.1c。有没有办法强制printf输出'\ 0'的列?
我正在做一些大型的printf,我希望列匹配。
答案 0 :(得分:5)
你无法为printf做任何事情。但是您可以使用isprint来过滤printf的参数
printf("%c", (isprint(c) ? c : ' ' ));
答案 1 :(得分:2)
怎么写
printf("%c",(c<' ')?' ':c);
您可以轻松地将其放入#define
。
答案 2 :(得分:1)
您可以将字符参数更改为
是(c)? c:''
答案 3 :(得分:0)
您可以使用isprint
功能检查角色是否可以打印。
if(isprint(c)) {
printf("%c", c);
}
else {
print("?");
}
不确定您打算如何处理不可打印的字符。