gpt4 book ai didi

c++ - 在 C++ 中执行主程序时,如何在后台检查是否已经过了一分钟?

转载 作者:行者123 更新时间:2023-11-30 05:19:07 24 4
gpt4 key购买 nike

我创建了一个在屏幕上显示当前时间的程序。我现在要做的是每分钟更新一次时间。

dateAndTime now; //created an object of a custom class dateAndTime

cout << "\n\t\t\t\t\t\t" << now.hour() << ':' << now.minute() << endl;
cout << "CASH MANAGER" << "\n";
cout << "1. Add cash" << "\n";
cout << "2. Withdraw cash" << "\n\n";

int ch;
cout << "Enter a number 1 or 2: ";
cin >> ch;

假设时间是通过以下过程更新的:

if (time(0) == now.epochTime() + 1)
now.setTime(time(0));

现在,我要做的是将时间显示为 now.hour() << ':' << now.minute();应每分钟更新一次,而不会延迟或中断主程序。

这意味着如果用户在提示后几分钟内没有提供任何输入,则时间应在每分钟后自动更新,并且在整个过程中程序始终等待用户的输入(即主程序照常运行)。有什么办法吗?我知道可能没有跨平台技术可以做到这一点。所以我只想为 windows os 做这个.

编辑:更新后不需要恢复当前光标位置或用户编写的任何文本(尚未输入)。

最佳答案

您可以使用alarm() 函数,它会在时间到期时发送信号SIGALRM

应用程序只需要为该信号提供一个信号处理程序。

关于c++ - 在 C++ 中执行主程序时,如何在后台检查是否已经过了一分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41307855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com