『壹』 c語言中怎麼設置計時器
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
clock_t start = clock();
//do some process here
clock_t end = (clock() - start)/CLOCKS_PER_SEC;
cout<<"time comsumption is "<<end<<endl;
}
(1)timetc語言擴展閱讀
使用linux的系統設置計時器
#include <sys/time.h>
int main()
{
timeval starttime,endtime;
gettimeofday(&starttime,0);
//do some process here
gettimeofday(&endtime,0);
double timeuse = 1000000*(endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - startime.tv_usec;
timeuse /=1000;//除以1000則進行毫秒計時,如果除以1000000則進行秒級別計時,如果除以1則進行微妙級別計時
}
timeval的結構如下:
strut timeval
{
long tv_sec; /* 秒數 */
long tv_usec; /* 微秒數 */
};
『貳』 C語言Timer0的程序問題
檢查一下你的C庫文件夾里是否存在regx51.h這個文件,如果不存在,需要安裝或COPY一個文件放進去
-----------------------------------
對輸出埠指定個地址范圍,對需要的port進行初始化,然後再試試看.
『叄』 Linux定時伺服器程序 timer (用c語言)
同學,你是段瀚聰老師的學生的吧?選了他的LINUX環境高級編程??
『肆』 C語言如圖Timer0_isr 什麼意思 什麼時候執行
這個是一個中斷。
注意後面的interrupt 1 using 1
當中斷產生時,就會執行這個函數了,
在這里 這是一個定時器中斷,所以中斷函數會定時被調用,程序運行表現就是led1 周期性亮滅。
『伍』 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語言 time()
1 是把一個正整數放進t所在的地址里,這個正整數是1970年1月1日00:00:00(UTC)開始,到目前為止經過的秒數。
2 因為time以兩種方式返回結果。一種是你第一道題的,給他一個地址,他把結果寫進那個地址。第二種直接返回一個time_t。你可以用這種方法接:time_t t = time(NULL)。這里給他一個空指針就是告訴他不需要以第一種方法返回結果,所以當然他也不會把結果寫進空指針,他只是不管這個參數而已。當然只要你樂意你也可以兩種一起用。
『柒』 請問大牛們怎樣在C語言中實現一個timer事件
api中的SetTimer函數實現
注意在無窗口的控制台程序中要加上消息循環
函數原型
UINT SetTimer(
HWND hWnd,
UINT nIDEvent,
UINT uElapse,
TIMERPROC lpTimerFunc );
回調事件
void CALLBACK TimerProc(
HWND hwnd,
UINT uMsg,
UINT idEvent,
DWORD dwTime );
如果是MFC的程序 就直接響應 WM_TIMER 消息
『捌』 C語言time_t timer = time(NULL);
time(NULL);就是返回從1970年元旦午夜0點到現在的秒數。time函數返回值是time_t類型的,把這個值賦值給timer
time_t實際上是長整型, 把timer想像成一個值即可了。
『玖』 C語言timer和按鍵問題
沒有所謂的同時,肯定有先後之分
『拾』 c語言中time函數的用法
頭文件time.h
@函數名稱: localtime
函數原型: struct tm *localtime(const time_t *timer)
函數功能: 返回一個以tm結構表達的機器時間信息
函數返回: 以tm結構表達的時間,結構tm定義如下:
struct tm{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
參數說明: timer-使用time()函數獲得的機器時間
#include <time.h>
#include <stdio.h>
#include <dos.h>
int main()
{
time_t timer;
struct tm *tblock;
timer=time(NULL);
tblock=localtime(&timer);
printf("Local time is: %s",asctime(tblock));
return 0;
}
@函數名稱: asctime
函數原型: char* asctime(struct tm * ptr)
函數功能: 得到機器時間(日期時間轉換為ASCII碼)
函數返回: 返回的時間字元串格式為:星期,月,日,小時:分:秒,年
參數說明: 結構指針ptr應通過函數localtime()和gmtime()得到
所屬文件: <time.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
int main()
{
struct tm t;
char str[80];
t.tm_sec=1;
t.tm_min=3;
t.tm_hour=7;
t.tm_mday=22;
t.tm_mon=11;
t.tm_year=56;
t.tm_wday=4;
t.tm_yday=0;
t.tm_isdst=0;
strcpy(str,asctime(&t));
printf("%s",str);
return 0;
}
@函數名稱: ctime
函數原型: char *ctime(long time)
函數功能: 得到日歷時間
函數返回: 返回字元串格式:星期,月,日,小時:分:秒,年
參數說明: time-該參數應由函數time獲得
所屬文件: <time.h>
#include <stdio.h>
#include <time.h>
int main()
{
time_t t;
time(&t);
printf("Today's date and time: %s",ctime(&t));
return 0;
}
@函數名稱: difftime
函數原型: double difftime(time_t time2, time_t time1)
函數功能: 得到兩次機器時間差,單位為秒
函數返回: 時間差,單位為秒
參數說明: time1-機器時間一,time2-機器時間二.該參數應使用time函數獲得
所屬文件: <time.h>
#include <time.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>
int main()
{
time_t first, second;
clrscr();
first=time(NULL);
delay(2000);
second=time(NULL);
printf("The difference is: %f seconds",difftime(second,first));
getch();
return 0;
}
@函數名稱: gmtime
函數原型: struct tm *gmtime(time_t *time)
函數功能: 得到以結構tm表示的時間信息
函數返回: 以結構tm表示的時間信息指針
參數說明: time-用函數time()得到的時間信息
所屬文件: <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <dos.h>
char *tzstr="TZ=PST8PDT";
int main()
{
time_t t;
struct tm *gmt, *area;
putenv(tzstr);
tzset();
t=time(NULL);
area=localtime(&t);
printf("Local time is:%s", asctime(area));
gmt=gmtime(&t);
printf("GMT is:%s", asctime(gmt));
return 0;
}
@函數名稱: time
函數原型: time_t time(time_t *timer)
函數功能: 得到機器的日歷時間或者設置日歷時間
函數返回: 機器日歷時間
參數說明: timer=NULL時得到機器日歷時間,timer=時間數值時,用於設置日歷時間,time_t是一個long類型
所屬文件: <time.h>
#include <time.h>
#include <stdio.h>
#include <dos.h>
int main()
{
time_t t;
t=time();
printf("The number of seconds since January 1,1970 is %ld",t);
return 0;
}
@函數名稱: tzset
函數原型: void tzset(void)
函數功能: UNIX兼容函數,用於得到時區,在DOS環境下無用途
函數返回:
參數說明:
所屬文件: <time.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
time_t td;
putenv("TZ=PST8PDT");
tzset();
time(&td);
printf("Current time=%s",asctime(localtime(&td)));
return 0;
}