如何按一定时间执行程序******************************

god_sun 2007-11-26 03:57:39
我有个程序。比如让他在每天9:00执行,现在我想让他每隔一定分钟执行一次。
改怎么比较时间好!

...全文
109 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pptor 2007-11-27
  • 打赏
  • 举报
回复
sleep(time)
aXu 2007-11-27
  • 打赏
  • 举报
回复
windows平台下?试验一下用system(“你的程序.exe”);
在一个进程里判断时间,如过大于这个时间就调用system函数,我写过一个自动关机。如果在一个进程里楼上的方法都可以用。
zltianhen 2007-11-27
  • 打赏
  • 举报
回复
绝对要用多线程,不然就假死了
batistawjp 2007-11-26
  • 打赏
  • 举报
回复
linux下用crontab
moolleychean 2007-11-26
  • 打赏
  • 举报
回复
一般精度要求不高的定时器我都用WaitForSingleObject,等待一个只有退出时才会触发的信号。
_石头_ 2007-11-26
  • 打赏
  • 举报
回复
这是我很久以前给网友帖的一个tc下定时运行的程序,搂住可以根据这个思路改一改就行了!


#include <stdio.h>
#include <dos.h>

void main()
{
unsigned temp_time,temp, run_time;
struct time t1,t2;
char run_flag=1; //控制程序循环
gettime(&t1);
temp_time=t1.ti_min*60+t1.ti_sec; /*初始时间---转化为秒 */
run_time=1; /*设定1秒显示一次*/
do /*主函数循环 */
{
gettime(&t2);
temp=t2.ti_min*60+t2.ti_sec; /*当前时间--转换为秒*/
if((temp-temp_time)> =run_time)
{
temp_time=temp; // {} 内换成搂住想要的函数就行了
printf( "hello, word\n ");
run_num++;
}
/* 主程序内的其他程序; */
}while(run_flag);
}



zhouqh1982 2007-11-26
  • 打赏
  • 举报
回复
定时器,最简单
hai040 2007-11-26
  • 打赏
  • 举报
回复
系统通常都可以设个闹钟,要不就用while

time_t t = time(NULL);
while(1)
{
sleep(1);
if(time(NULL) - t >= 60 * n)
{
t = time(NULL);
//do your work
}
}
andy_cai 2007-11-26
  • 打赏
  • 举报
回复
弄个另外的程序触发该执行程序,或者将执行程序作为子线程?
while(1)
{
sleep(1000);
time=当前时间;//如果是每天,就只取小时往下的
if(|time-开始执行时间|<1秒)
触发;
else
continue;
start = true;
while(start)
{
sleep(间隔时间);//或者 sleep(1000);time=当前时间;
//if((time - 开始执行时间)%间隔时间<1秒)触发;else continue;
触发;
}


}
god_sun 2007-11-26
  • 打赏
  • 举报
回复
ls说了=没说
xiao_dang 2007-11-26
  • 打赏
  • 举报
回复
C库有个"time.h"吧,不记得怎么用了。
Win32有个API:GetSystemTime

64,631

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧