我正在编写一个将时间转换为:小时,分钟和秒的c ++程序。
我需要做的是将时间转换为:HH:MM:SS,无论如何,这里是我的代码:
#include <iostream>
using namespace std;
int main() {
long time, hour, min, sec;
cout<<"Enter elapsed time: ";
cin>>time;
cout<<time;
hour = time/3600;
min = (time%3600) / 60;
sec = (time%3600) % 60;
cout<<"\nIn HH:MM:SS -> ";
cout<<hour<<":"<<min<<":"<<sec;
return 0;
}
当我在示例中输入时间:3600时,它显示1:0:0,而不是我期待的形式,所以我需要它显示为&#34; 01:00: 00&#34;以这种形式。我该怎么办?
答案 0 :(得分:1)
包括<iomanip>
并使用std::setfill
和std::setw
来定义您要用于填充的字符以及要打印的字段的宽度。
std::cout << std::setfill('0') << std::setw(2) << hour << ":";
std::cout << std::setfill('0') << std::setw(2) << min << ":"
std::cout << std::setfill('0') << std::setw(2) << sec;