使用std::chrono每过T时间打印输出
#include<iostream>
using namespace std;
#include<chrono>
double T = 1000000;
double time_initial_;
double time_cur_;
bool flag1 = false;
bool flag2 = true;
int main()
{
if (!flag1)
{
flag2 = false;
std::chrono::time_point<std::chrono::high_resolution_clock> t_cur = std::chrono::high_resolution_clock::now();
auto t_cur_milli = std::chrono::time_point_cast<std::chrono::microseconds>(t_cur);
time_initial_ = t_cur_milli.time_since_epoch().count();
}
while (1)
{
if (!flag2)
{
std::chrono::time_point<std::chrono::high_resolution_clock> t_cur = std::chrono::high_resolution_clock::now();
auto t_cur_milli = std::chrono::time_point_cast<std::chrono::microseconds>(t_cur);
time_cur_ = t_cur_milli.time_since_epoch().count();
}
if (time_cur_ - time_initial_ < T)
{
std::cout << "1" << std::endl;
}
if ((time_cur_ - time_initial_ > T || time_cur_ - time_initial_ == T) && (time_cur_ - time_initial_ < 2 * T))
{
std::cout << "2" << std::endl;
}
if ((time_cur_ - time_initial_ > 2*T || time_cur_ - time_initial_ == 2*T) && (time_cur_ - time_initial_ < 3 * T))
{
std::cout << "3" << std::endl;
}
if ((time_cur_ - time_initial_ > 3 * T || time_cur_ - time_initial_ == 3 * T) && (time_cur_ - time_initial_ < 4 * T))
{
std::cout << "4" << std::endl;
}
if ((time_cur_ - time_initial_ > 4 * T || time_cur_ - time_initial_ == 4 * T))
{
time_initial_ = time_cur_;
}
}
system("pause");
return 0;
}