【发布时间】:2020-04-19 08:33:08
【问题描述】:
我想在 C 整数中添加前导零。我正在做一个时钟。这是我到目前为止的代码:
int main(){
while (1){
time_t present;
time(&present);
struct tm *myTime = localtime(&present);
printf("%2d:%2d:%2d\n", myTime->tm_hour,myTime->tm_min, myTime->tm_sec);
sleep(1);
}
return 0;
}
这是当前的输出:
11:30: 0
11:30: 1
11:30: 2
11:30: 3
11:30: 4
11:30: 5
11:30: 6
11:30: 7
11:30: 8
11:30: 9
11:30:10
这是我想要的输出:
11:30:00
11:30:01
11:30:02
//and so on...
【问题讨论】:
-
在您最喜欢的文档源中阅读
printf()- 手册页、cppreference 等。 -
使用
%02d格式 -
如cplusplus.com/reference/cstdio/printf 中所述,'%2d' 表示长度为 2,为了达到 2,应添加一个空格。但是,如果您输入 '%02d' (如答案中所述),您会特别提到必须使用零字符而不是空格。
标签: c time formatting printf string-formatting