我想在我的程序中创建计时器,以便我可以让它每分钟重新运行,而且我不知道如何在C ++应用程序中执行它。在C#中我可以创建一个计时器,但我现在在这里挣扎......
睡眠();不是一个选项,因为据我所知,它使您的程序在X秒内处于非活动状态,我需要我的应用程序处于活动状态并正常工作,并且一直在计算。这是因为我的代码用于不断地将信息输入到MS Access表中。我能够创建我的代码的必要组件来连接和执行对表的插入/更新,但这只是我正在创建的代码的许多组件。请帮我解决这个小问题(或大问题),我是C ++和学习ATM的新手,但我正在开发一个快速的学习曲线。感谢
答案 0 :(得分:1)
每个平台都提供api来创建一个计时器,通常在计时器到期后给你一个回调。您只需搜索平台上可用的API即可。
如果您使用的是Windows,请使用 setTimer 功能。
答案 1 :(得分:1)
我认为你在Windows上工作,因为你提到了C#。所以,请查看SetTimer,如果它是MFC应用,请查看CWnd::SetTimer。
答案 2 :(得分:0)
如果您使用的是C ++ .NET,则可以使用与C#相同的Timer类,只需使用C ++语法(使用gcnew而不是new,使用^进行GC引用)。
否则你可能只有一个循环:
while (should_keep_looping) {
// do what you need to do
// if necessary:
sleep(1);
}
答案 3 :(得分:0)
见这里:http://www.cplusplus.com/forum/beginner/317/
在C ++中有内置的“计时器”,你对sleep()的行为是正确的。上面的线程描述了一个自定义实现。
答案 4 :(得分:0)