有没有一种方法可以让c ++等到预期的日期才能开始处理其余的代码?
我不希望它使用诸如wait或sleep之类的东西等待,实际上我希望它仅使用if语句进行检查。极差的伪代码示例:
if current_date == intended_date
cout << "Happy Birthday";
end
我希望程序仅在满足生日条件时才说生日快乐。我知道您可以使用std :: chrono :: system_clock :: now()获取当前日期。但是,我不知道如何设置意向日期的格式,以便它可以对照当前日期进行检查。
答案 0 :(得分:0)
我认为标准模块chrono和iomanip为您提供所需的东西:
#include <chrono>
#include <iostream>
#include <iomanip>
#include <sstream>
#include <string>
#include <list>
int main()
{
auto currentTime = std::chrono::system_clock::to_time_t(
std::chrono::system_clock::now()
);
std::stringstream timeStream;
timeStream << std::put_time(std::localtime(¤tTime), "%m-%d");
const std::list<std::string> birthdays = {"12-08", "10-03"};
for (auto& date : birthdays)
{
if(timeStream.str() == date)
{
std::cout << "Happy birthday!!\n";
}
else
{
std::cout << "Try another day!!\n";
}
}
return 0;
}