下面是我的 C++ 程序。请帮忙。谢谢。
无效时间::showTime() { cout << "你的24小时军标时间是" << hour << ":" << minute << endl; }
下面是我的 C++ 程序。请帮忙。谢谢。
无效时间::showTime() { cout << "你的24小时军标时间是" << hour << ":" << minute << endl; }
cout << setw (2) << setfill ('0') << minute << "\n";
注意:
endl
. 只需插入一个\n
代替 --endl
也会刷新流,这通常是不需要的。setw
,setfill
您需要#include <iomanip>
这是为之strftime
设计的任务。setfill
它消除了,等的大量工作setw
:
#include <iostream>
#include <ctime>
#include <string>
enum conv {UTC, LOCAL};
std::string fmt(char const *fmt, time_t p=time(NULL), conv c = LOCAL) {
char buffer[512];
struct tm n = c == LOCAL ? *localtime(&p) : *gmtime(&p);
strftime(buffer, sizeof(buffer), fmt, &n);
return std::string(buffer);
}
int main() {
std::cout << fmt("Your time in 24 hours military standard is %H:%M\n");
}
从理论上讲,C++11 已经添加<chrono>
了一个put_time
操纵器,可以让您更干净地进行这种检索和格式化,但在真正的编译器中的支持是......充其量是参差不齐的。大多数似乎都有检索时间的代码,但是put_time
在相当多的流行实现中仍然缺少操纵器。