![]() |
如何寫出 延遲 1 - 2 秒的時間的程式 ?
如何寫出 延遲 1 - 2 秒的時間的程式 ?
因為程式除錯時,要一直按單步執行有點累。 :dcft689kj 或是要觀察變數的內容變化要做時間延遲 . . . :drtyt76h6 |
空回圈 或巣狀空回圈
|
引用:
結果不到一秒就 做完了... 目的沒達到 . . . 現在的電腦跑這種程式實在是 . . . 太快了 :decfghi6: 剛剛又試了一次,巣狀空回圈 for(i=0;i<32767;i++) for(j=0;j<10000*sec;j++); 才接進 1 秒 ... :dcft689kj |
clock_t start_time; //delay,使用CLOCK function
start_time = clock(); while((clock() - start_time) < 1 * CLOCKS_PER_SEC){} 上面的1是表示延遲幾秒~初始直是1秒 |
引用:
|
因為while 是個空迴圈
所以運行中 CPU不只會 100%做工 就算在 windows的多工控制下 作其他事情也會反應慢半拍 所以以下是改良方式 語法:
#include <cstdlib> 實驗下雖然 CPU也會跑在100% 但 作其他事情就不會反應慢半拍 (比如運行時 作一個滑鼠點擊桌面下層視窗 的視窗切換動作,沒有DoEvents設計的程式 就要等windows介入調配,而用上面的程式就可馬上執行視窗切換的動作,毫無延宕) |
引用:
目前知道可以延遲時間的方法又多了一種 首先是 snoopy 大大說的,空回圈 或巣狀空回圈 後來有找某些書本上說,容易受到電腦等及影響 ... 而且 for loop 會受到 變數類型限制,巣狀的話 可以達到一個 for loop 做不倒的延遲效過,但是 時間的延遲上而不好抓,只能概算一下 再來是 kinco 大大說的,用時間函式的方法 時間的準度有了,但似乎會影響 Windows 的其他程式運算 (跟 mini 大大說的一樣)... 最後是 mini 大大說的,改良版方法吧... 是很好的但是 以我目前的程度來說,可能高檔了些... DEV-C 在 .c 的原始碼底下就不能編譯了,但在 .cpp 底下 OK 這應該是 C++ 的語法吧,學校還沒教...,我也一直想學, 但書局的書...,試問一下是要學 Borland C++ 還是微軟的 C++ 哪個好阿 . . . |
To 要學 Borland C++ 還是微軟的 VC++ 哪個好阿?
A: 各有千秋吧,只用過 VC 所以也不便說什麼... 只是因為VC是MS出的所以 設計視窗軟體比較有利點(MFC) 另外學會 MFC 會對 windows 的內部流程有較好的認知 |
引用:
|
所有時間均為台北時間。現在的時間是 04:03 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *