printf动态长度/大小
问题描述:
我想为液晶显示器创建一个动态的printf大小,但它只输出f =我做错了什么?printf动态长度/大小
sprintf(buffer, "f=%.2f", (d = d + 0.01)); <-- works but not dynamic
sprintf(buffer, "f=%.*f", 2 , (d = d + 0.01)); <-- Does not any give warning
lcd_puts(buffer);
_delay_ms(100);
答
也许你需要这个:
char format[10]; int len1 = 5, len2 = 2; sprintf(format, "f=%%%d.%df", len1, len2); sprintf(buffer, format , (d = d + 0.01));
它看起来是正确的,并在这里工作 – perreal 2012-07-11 11:34:19