假设:
unsigned int systemTicks(void);
unsigned int usPerTick(void);
如何在C中创建固定宽度的时间戳字符串?我可以灵活地使用这种格式,但希望最多支持100分钟并保持毫秒级的分辨率。一个示例格式是"99:59:999"
,意味着自冷启动以来已经过了99分钟和59.999秒。
printf
允许我写小数(分,秒,ms),最小宽度,但不是最大宽度。我正在寻找简单的解决方案。
答案 0 :(得分:1)
您希望打印固定宽度,前导零小数部分为微秒。由于微秒有6位数,你想要,
sprintf(timestamp,"%d:%02d.%06d",ticks/60,ticks%60,mseconds);
添加结构/指针风味......