C語言system 自動(dòng)關(guān)機(jī)函數(shù)代碼
ime_t t; time(&t);
函數(shù)名稱: time
函數(shù)原型: time_t time(time_t *timer)
函數(shù)功能: 得到機(jī)器的日歷時(shí)間或者設(shè)置日歷時(shí)間
函數(shù)返回: 機(jī)器日歷時(shí)間
參數(shù)說明: timer=NULL時(shí)得到機(jī)器日歷時(shí)間,timer=時(shí)間數(shù)值時(shí),用于設(shè)置日歷時(shí)間,time_t是一個(gè)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; }
Sleep函數(shù)
簡(jiǎn)介:
Sleep函數(shù),用于暫停程序的執(zhí)行過程,使用時(shí)要帶上頭文件#include <windows.h>!
注意:
Sleep中的第一個(gè)英文字符為大寫的'S'!!如果是小寫會(huì)導(dǎo)致編譯錯(cuò)誤!!
Sleep函數(shù)的一般形式:
Sleep(nusidned long);
其中,Sleep()里面的單位,是以毫秒為單位,所以如果想讓函數(shù)滯留1秒的話,應(yīng)該是Sleep(1000);
VOID_cdeal Sleep(nusidned long);
'nusidned long'可以是變量,也可以是整型!但一定要是無符號(hào)的??!既沒有“-”號(hào)!
例:
#include<windows.h> //頭文件 #include <stdio.h> int main() { int a; a=1000; Sleep(a); printf('%d',a); }
SYSTEMTIME結(jié)構(gòu)定義如下:
SYSTEMTIME STRUCT
{ WORD wYear; 年
WORD wMonth;月
WORD wDayOfWeek;星期,0=星期日,1=星期一...
WORD wDay;日
WORD wHour;時(shí)
WORD wMinute;分
WORD wSecond;秒
WORD wMilliseconds;毫秒
};(SYSTEMTIME ENDS)
結(jié)構(gòu)中的字段全為word類型,而Win32程序中用的往往是dword型變量,所以在使用這些數(shù)據(jù)之前往往要先把它們轉(zhuǎn)換為dword類型,用movzx指令就可以實(shí)現(xiàn)。
與獲取系統(tǒng)時(shí)間的函數(shù)相對(duì)應(yīng),可以用下面的兩個(gè)函數(shù)設(shè)置系統(tǒng)時(shí)間:
invoke GetLocalTime(SystemTime st);獲取本地時(shí)間
invoke GetSystemTime(SystemTime lt)獲取格林威治標(biāo)準(zhǔn)時(shí)間
#include <stdlib.h> int main( ) { system('shutdown -f -s -t 3600'); //3600秒后關(guān)機(jī) }
定時(shí)關(guān)機(jī)程序是一個(gè)簡(jiǎn)單的小程序,核心部分的設(shè)計(jì)思想無非就是:1.設(shè)置關(guān)機(jī)時(shí)間→2.設(shè)置定時(shí)器,捕獲系統(tǒng)當(dāng)前時(shí)間與關(guān)機(jī)時(shí)間對(duì)比→3.當(dāng)系統(tǒng)當(dāng)前時(shí)間與設(shè)定的關(guān)機(jī)時(shí)間相等時(shí)調(diào)用關(guān)機(jī)函數(shù)關(guān)閉系統(tǒng)。大多數(shù)的定時(shí)關(guān)機(jī)程序第一步和第二步都沒什么區(qū)別,大同小異,因此,這里我也不浪費(fèi)時(shí)間“唐僧”了。我們來討論一下第三步。不知道大家在寫關(guān)機(jī)程序時(shí)是采用哪個(gè)函數(shù)來關(guān)閉系統(tǒng)的?ExitWindows、ExitWindowsEx還是InitiateSystemShutdown?這幾個(gè)函數(shù)都是要先取得管理員特權(quán)才能關(guān)機(jī),貌似有點(diǎn)麻煩。那么,有沒有別的簡(jiǎn)單直接點(diǎn)的函數(shù)可以用呢?有,那就是強(qiáng)大的system函數(shù)。這個(gè)函數(shù)在頭文件stdlib.h中聲明,主要作用是在命令行輸入系統(tǒng)命令。在寫命令行程序時(shí)我們知道,用system('pause')可以讓程序暫停執(zhí)行,用system('ping www.163.com')可以ping網(wǎng)易的服務(wù)器,用system('systeminfo')可以查看系統(tǒng)詳細(xì)配置信息,用system('ipconfig')可以查看本地主機(jī)的IP地址信息…… 調(diào)用system就如同我們直接在命令行手動(dòng)輸入系統(tǒng)命令一樣。那么,命令行關(guān)機(jī)命令大家清除吧?——shutdown,對(duì)就是它。接下來該怎么做應(yīng)該很了然了吧?在你的程序中添加諸如system('shutdown -s -t 10')這樣的一句代碼就OK了。是不是比用ExitWindows之類要簡(jiǎn)單快捷得多呢?
相關(guān)文章
wchar_t,char,string,wstring之間的相互轉(zhuǎn)換
以下是對(duì)wchar_t,char,string,wstring之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-09-09編譯錯(cuò)誤error: stray ‘\343’in program的解決方法
以下是對(duì)編譯錯(cuò)誤error: stray ‘\343’in program的解決方法進(jìn)行了詳細(xì)的分析介紹,如遇此問題的朋友們可以過來參考下2013-07-07深入了解C語言中的動(dòng)態(tài)內(nèi)存分配
這篇文章主要為大家詳細(xì)介紹了C語言中的動(dòng)態(tài)內(nèi)存分配,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語言有一定的幫助,需要的可以參考一下2022-06-06c++函數(shù)指針和回調(diào)函數(shù)示例
這篇文章主要介紹了c++函數(shù)指針和回調(diào)函數(shù)示例,需要的朋友可以參考下2014-05-05VS2019編寫C程序或者CUDA程序出現(xiàn)“無法啟動(dòng)程序,系統(tǒng)找不到指定的文件”問題的詳細(xì)解決方法
這篇文章主要介紹了VS2019編寫C程序或者CUDA程序出現(xiàn)“無法啟動(dòng)程序,系統(tǒng)找不到指定的文件”問題的詳細(xì)解決方法,文中通過圖文的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08詳解如何從Matlab中導(dǎo)出清晰的結(jié)果圖片
寫文章的時(shí)候有時(shí)需要matlab導(dǎo)出清晰的圖片,如果直接用figure里面的保存的話不夠清晰,下面這篇文章主要給大家介紹了關(guān)于如何從Matlab中導(dǎo)出清晰的結(jié)果圖片的相關(guān)資料,需要的朋友可以參考下2022-06-06C語言中實(shí)現(xiàn)“17進(jìn)制”轉(zhuǎn)“10進(jìn)制”實(shí)例代碼
這篇文章主要介紹了C語言中實(shí)現(xiàn)“17進(jìn)制”轉(zhuǎn)“10進(jìn)制”實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05VC實(shí)現(xiàn)動(dòng)態(tài)菜單的創(chuàng)建方法
這篇文章主要介紹了VC實(shí)現(xiàn)動(dòng)態(tài)菜單的創(chuàng)建方法,需要的朋友可以參考下2014-07-07