C语言编程计时器如何工作?C语言编程计时器,参考思路如下:
每隔30秒(自己定)操作文件file:
1、file文件里只存一个数(初值为0);
2、每隔30秒打开文件,读出数字;
3、数字加上30秒;
4、再写进去;
在"Dos.h"中有void sleep(unsigned seconds)函数;
Sample:
#include "Dos.h"
#include "stdio.h"
void main(){
while(1){
sleep(yourTime);
doSomething(...);
}
}
C语言,计时器秒表计时器的代码
#include
stdio.h
#include
conio.h
#include
windows.h
#include
stdlib.h
struct
tm
//定义时间结构体 , 包括时分秒和10毫秒
{
int
hours,minutes,seconds;
int
hscd;
}time,tmp,total;
//time用以计时显示,tmp用以存储上一阶段时间,total记总时间
int
cnt;
FILE*
fout;
//每次调用update函数,相当于时间过了10ms
void
update(struct
tm
*t)
{
(*t).hscd;
//10ms单位时间加1
cnt;
if
((*t).hscd==100)
//计时满1s,进位
{
(*t).hscd=0;
(*t).seconds;
}
if
((*t).seconds==60)
//计时满一分 , 进位
{
(*t).seconds=0;
(*t).minutes;
}
if
((*t).minutes==60)
//计时满一小时,进位
{
(*t).minutes=0;
(*t).hours;
}
if((*t).hours==24)
(*t).hours=0;
//delay();
Sleep(10);
//Sleep是windows提供的函数,作用是暂停程序,单位毫秒,所以此处暂停10ms
}
void
display(struct
tm
*t)
{
//此处输出计时结果,\r为回车不换行,既一直在同一行更新时间
printf("%d:",(*t).hours);
printf("%d:",(*t).minutes);
printf("%d:",(*t).seconds);
printf("%d\r",(*t).hscd);
//printf("Now,
press
‘e’
key
to
stop
the
clock…");
}
void
time_init()
//初始化时间
{
time.hours=time.minutes=time.seconds=time.hscd=0;
}
void
get_total()
//计算总时间
{
total.hscd
=
cnt
%
100;
cnt
/=
100;
total.seconds
=
cnt
%
60;
cnt
/=
60;
total.minutes
=
cnt
%
60;
cnt
/=
60;
total.hours
=
cnt;
}
int
main()
{
char
m;
time_init();
cnt
=
0;
fout
=
fopen("timeout.txt","w");
printf("按回车键开始计时!\n");
while(1)
{
m
=
getch();
if(m
!=
‘\r’)
//读入一个输入,如果是回车,那么跳出次循环
printf("输入错误,仅能输入回车键!\n");
else
break;
}
printf("已经开始计时,但是你可以按回车键以分段计时!\n");
while(1)
{
if(kbhit())
//此处检查是否有键盘输入
{
m=getch();
if(m
==
‘\r’)
//如果等于回车 , 那么计时结束 , 跳出循环
break;
else
if(m
==
‘
‘)
//如果等于空格,显示此次计时,初始化计时器
{
tmp
=
time;
//记录上一段计时器结果
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd);
//写入文件
time_init();
printf("\n");
}
else
{
printf("输入错误,仅支持输入回车键或者空格键!\n");
}
}
update(time);
//更新计时器
display(time);
//显示计时器时间
}
tmp
=
time;
//输出最后一次即使结果,写入文件
fprintf(fout,"%d:%d:%d:%d\n",tmp.hours,tmp.minutes,tmp.seconds,tmp.hscd);
get_total();
//计算总的时间 , 显示,并写入文件
printf("\n总时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fprintf(fout,"统计时间:%d:%d:%d:%d\n",total.hours,total.minutes,total.seconds,total.hscd);
fclose(fout);
printf("已经保存到当前目录下的timeout.txt文件中按任意键结束!");
getch();
}
请问怎么用c语言怎么写一个最简单计时器?#includestdio.h
#includewindows.h
int main()
{
int hour = 0, min = 0, sec = 0;
while (1){
Sleep(1000);//暂停1s
system("cls");//清屏
sec;
if (sec == 60){
min;
sec = 0;
}
if (min == 60){
hour;
min = 0;
}
if (hour == 24){
hour = 0;
}
printf("d:d:d\n", hour, min, sec);
//d输出长度为2 , 不足2前面补0
}
return 0;
}
运行截图
C语言 timer函数 和time函数Timer()函数
语法:Timer ( interval {, windowname } )
参数:指定两次触发Timer事件之间的时间间隔,有效值在0到65之间 。如果该参数的值指定为0,那么关闭定时器 , 不再触发指定窗口的Timer事件 。windowname:窗口名,指定时间间隔到时要触发哪个窗口的Timer事件 。省略该参数时 , 触发当前窗口的Timer事件返回值Integer 。函数执行成功时返回1,发生错误时返回-1 。如果任何参数的值为NULL,Timer()函数返回NULL 。用法使用Timer()函数可以周期性地触发指定窗口的Timer事件,这样,每当时间间隔过去时,应用程序都可以完成一些周期性的工作 , 比如绘制简单动画等 。将Timer()的interval参数设置为非0值时启动定时器并开始计时;将该函数的interval参数设置为0时关闭定时器,终止计时任务 。需要注意的是 , 在Microsoft Windows系统中,该函数能够计时的最小时间间隔为0.055秒(约1/18秒) , 如果把interval参数的值设置小于0.055,那么该定时器将每隔0.055秒触发一次窗口的Timer事件 。Microsoft Windows 3.x最多只支持系统中同时启动16个定时器 。
用法:
启动定时器 。
启动定时器就需要使用CWnd类的成员函数SetTimer 。CWnd::SetTimer的原型如下:
UINT_PTR SetTimer(
UINT_PTR nIDEvent,
UINT nElapse,
void (CALLBACK* lpfnTimer)(
HWND,
UINT,
UINT_PTR,
DWORD
)
);
参数nIDEvent指定一个非零的定时器ID;参数nElapse指定间隔时间,单位为毫秒;参数lpfnTimer指定一个回调函数的地址 , 如果该参数为NULL,则WM_TIMER消息被发送到应用程序的消息队列,并被CWnd对象处理 。如果此函数成功则返回一个新的定时器的ID,我们可以使用此ID通过KillTimer成员函数来销毁该定时器,如果函数失败则返回0 。
通过SetTimer成员函数我们可以看出 , 处理定时事件可以有两种方式,一种是通过WM_TIMER消息的消息响应函数,一种是通过回调函数 。
如果要启动多个定时器就多次调用SetTimer成员函数 。另外,在不同的CWnd中可以有ID相同的定时器,并不冲突 。
time函数
返回某一特定时间的小数值 。如果在输入函数前,单元格的格式为“常规”,则结果将设为日期格式 。
函数 TIME 返回的小数值为 0(零)到 0.99999999 之间的数值,代表从 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 P.M.) 之间的时间 。
语法:
TIME(hour, minute, second)
TIME 函数语法具有以下参数:
Hour 必需 。0(零)到 32767 之间的数值,代表小时 。任何大于 23 的数值将除以 24 , 其余数将视为小时 。例如,TIME(27,0,0) = TIME(3,0,0) = .125 或 3:00 AM 。
Minute 必需 。0 到 32767 之间的数值,代表分钟 。任何大于 59 的数值将被转换为小时和分钟 。例如,TIME(0,750,0) = TIME(12,30,0) = .520833 或 12:30 PM 。
Second 必需 。0 到 32767 之间的数值,代表秒 。任何大于 59 的数值将被转换为小时、分钟和秒 。例如 , TIME(0,0,2000) = TIME(0,33,22) = .023148 或 12:33:20 AM 。
例子:
?php$t=time();echo($t . "br /");echo(date("D F d Y",$t));?
输出:
1138618081Mon January 30 2006
【c语言函数计时器 c语音计时器】c语言函数计时器的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语音计时器、c语言函数计时器的信息别忘了在本站进行查找喔 。
推荐阅读
- 能把安卓系统的平板变成windows,怎么把安卓平板变成电脑
- 游戏大冒险惩罚措施在哪,游戏大冒险惩罚大全
- 手机健康码怎么不显示姓名,手机健康码怎么不显示姓名了
- 怎么查询mysql表格 mysql怎么查看表格内容
- 蓝牙时钟充电怎么充电视频,时钟蓝牙怎么拆开
- mysqlutc时间毫秒的简单介绍
- 安全警告怎么关闭ios,安全警告怎么关闭苹果
- php数据重置 php 重写 重载
- 益生菌网上如何推广,益生菌怎么推销