当我的bool(fps
)设置为false
时,我尝试不打印任何内容。目前它显示为0,因为我不知道如何禁用该整数显示。
sprintf(drawdev, "%s%d", (fps) ? "FPS: " : "", (fps) ? framecount : 0);
如何使它不显示整数,就像“ FPS:”文本一样?
答案 0 :(得分:2)
最干净的方法是摆脱三元并使用if
:
if (fps) {
sprintf(drawdev, "FPS: %d", framecount);
} else {
sprintf(drawdev, "");
}
答案 1 :(得分:0)
我会这样做:
fps?sprintf(drawdev,"FPS: %d",framecount):sprintf(drawdev,"FPS:");
答案 2 :(得分:0)
您可以使用精度修饰符%.*d
,传递0
将没有输出:
sprintf(drawdev, "%s%.*d", (fps) ? "FPS: " : "", !!fps, (fps) ? framecount : 0);