0

テキストファイルから読み込んだ曲を時間とともに表示し、それらをコンソールにきちんと整理して表示するプログラムがあります。しかし、整数表示、01または時間形式 (00:00:00)06とは対照的に問題があります。出力を操作して、整数が 10 未満のときに整数の前にゼロを表示するにはどうすればよいですか?16

私のプログラムからの出力例:

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.
4

2 に答える 2

1
printf("%02d:%02d:%02\n", h, m, s);
于 2012-11-24T20:29:09.203 に答える
1

また、自分の価値観をどのように表示しますか? 標準ライブラリが提供するストリーム ユーティリティを使用していますか? setwその場合、マニピュレータを と組み合わせて使用​​できますsetfillstdio対応するものでは、適切なフラグとフォーマット指定子を使用して、幅と塗りつぶしを指定することもできます。

#include <iomanip>
#include <iostream>

...
cout << setw(2) << setfill('0') << h << ':' 
    << setw(2) << setfill('0') << m << ':' 
    << setw(2) << setfill('0') << s << '\n'; 
于 2012-11-24T20:32:05.980 に答える