c - 在 sprintf 中隐藏整数

标签 c printf

当我的 bool (fps) 设置为 false 时,我试图不打印任何内容。目前它打印 0,因为我不知道如何禁用整数显示。

sprintf(drawdev, "%s%d", (fps) ? "FPS: " : "", (fps) ? framecount : 0);

我怎样才能使整数不显示,就像“FPS:”文本一样?

最佳答案

最干净的方法是摆脱三元并使用 if:

if (fps) {
    sprintf(drawdev, "FPS: %d", framecount);
} else {
    sprintf(drawdev, "");
}

关于c - 在 sprintf 中隐藏整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51902590/

相关文章:

c++ - sprintf 的内部工作

C:怪串现象

c - 为什么 $$ 不接受类型 char

c - 使用 vfork() 和 -lpthread 的孙子的 getpid() 结果不正确

c - 如何将二进制 int 数组转换为十六进制 char 数组?

c - 读取文本文件并将数据保存在链表中

c - 在 C 中使用系统命令之前如何清理输入

C - printf 输出说明 ("%d %d\n",k=1,k=3);

c - 如何打印指针指向的字节的二进制内容?

c - 无法为数组赋值