Как заполнить пустые (целые) места нулями в C? - PullRequest
2 голосов
/ 19 апреля 2020

Я хочу добавить начальный ноль в 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...

1 Ответ

3 голосов
/ 19 апреля 2020

Заполните 0 между % и модификатором длины, здесь 2, для каждого спецификатора формата в вызове printf():

printf("%02d:%02d:%02d\n", myTime->tm_hour,myTime->tm_min, myTime->tm_sec);
         |    |    |
        here here here
...