2012-11-24 1 views
0

У меня есть программа, которая отображает песни, которые читаются из текстового файла вместе с временем, и отображает их в аккуратной организованной форме в консоли. У меня возникают проблемы, однако у меня есть целое число дисплей 01 или 06 в отличие от 1 или 6 для моего формата времени (00:00:00). Как я могу манипулировать выходом для отображения нулевого infront целого числа, когда оно меньше 10?Отображение незначительных цифр в консоли с целыми числами

Пример вывода из моей программы:

SONG TITLE 
The once and future carpenter  0:4:52 
I never knew you     0:7:48 
Life        0:10:52 
February seven      0:15:0 
My lfe        0:24:12 
Yuor frei       0:37:20 
Lisjlf        0:49:23 
Lasifj        0:53:39 
Longsong       1:9:2 
Longer        1:22:3 
Almost done      1:34:48 

Process returned 0 (0x0) execution time : 0.280 s 
Press any key to continue. 

Желаемая Выход:

SONG TITLE 
The once and future carpenter  00:04:52 
I never knew you     00:07:48 
Life        00:10:52 
February seven      00:15:00 
My lfe        00:24:12 
Yuor frei       00:37:20 
Lisjlf        00:49:23 
Lasifj        00:53:39 
Longsong       01:09:02 
Longer        01:22:03 
Almost done      01:34:48 

Process returned 0 (0x0) execution time : 0.280 s 
Press any key to continue. 

ответ

1

А как вы показываете ваши ценности? Использование потоковых утилит, предоставляемых стандартной библиотекой? если это так, вы можете использовать манипулятор setw в сочетании с setfill. stdio коллеги также позволяют указывать в widht и заполнить, используя соответствующие флаги с спецификатора формата:

#include <iomanip> 
#include <iostream> 

... 
cout << setw(2) << setfill('0') << h << ':' 
    << setw(2) << setfill('0') << m << ':' 
    << setw(2) << setfill('0') << s << '\n'; 
1
printf("%02d:%02d:%02\n", h, m, s); 
+0

я предпочел бы решение C++ над раствором C, но я буду держать это в виду. –

+1

О, C++? 'std :: printf ("% 02d:% 02d:% 02 \ n ", h, m, s);' then. – melpomene

+0

Я предпочитаю это по всем решениям, так как это самый простой и эффективный. – Blodyavenger