1. 程式人生 > >在不同編譯環境中如何使用sleep()函式

在不同編譯環境中如何使用sleep()函式

今天在學習有關時間函式時,想讓程式暫時掛起,一段時間後在繼續執行!
用到了系統函式sleep();
在vc下sleep函式是以毫秒為單位,如果想讓其停留3秒,需要這樣做  sleep(3*1000);

需要標頭檔案#include <windows.h>

#include<stdio.h>
#include<time.h>
#include<windows.h>
int main()
{
   time_t   timep;//定義 time_t型別變數timep
   struct tm *block;
   timep=time(NULL);//返回當前時間與1970年1月1日0時0分0秒相差的多少秒
   block=localtime(&timep );//把獲取的時間儲存
   printf("%s", asctime (  block) );
    //把本地時間轉化為ASCII碼打印出來
   Sleep(3000);
   timep=time(NULL);//返回當前時間與1970年1月1日0時0分0秒相差的多少秒
   block=localtime(&timep );//把獲取的時間儲存
   printf("%s", asctime (  block) );
   system("pause");
 return 0;
}
在把此函式移植在linux下發現好幾個3秒都過去了,程式還是沒反應。遂查了在vc和linux中sleep函式的區別。
發現在linux下sleep函式是以秒做單位的。
#include<stdio.h>
#include<time.h>
int main()
{
   time_t   timep;//定義 time_t型別變數timep
   struct tm *block;
   timep=time(NULL);//返回當前時間與1970年1月1日0時0分0秒相差的多少秒
   block=localtime(&timep );//把獲取的時間儲存
   printf("%s", asctime (  block) );
    //把本地時間轉化為ASCII碼打印出來
   Sleep(3);
   timep=time(NULL);//返回當前時間與1970年1月1日0時0分0秒相差的多少秒
   block=localtime(&timep );//把獲取的時間儲存
   printf("%s", asctime (  block) );
   system("pause");
 return 0;
}


在linux下每過一秒顯示一下當前時間
#include<stdio.h>
#include<time.h>
int main()
{
   time_t   timep;//定義 time_t型別變數timep
   struct tm *block;
   int i;
   timep=time(NULL);//返回當前時間與1970年1月1日0時0分0秒相差的多少秒
   block=localtime(&timep );//把獲取的時間儲存
    printf("%s", asctime (  block) );
    //把本地時間轉化為ASCII碼打印出來
    
   for(i=0;i<3;i++)
    {
      sleep(1);
      printf("時間已過去%d秒\n",i+1);
      timep=time(NULL);//返回當前時間與1970年1月1日0時0分0秒相差的多少秒
      block=localtime(&timep );//把獲取的時間儲存
      printf("%s", asctime (  block) );
    }
   
 return 0;
}

相關推薦

不同編譯環境如何使用sleep函式

今天在學習有關時間函式時,想讓程式暫時掛起,一段時間後在繼續執行! 用到了系統函式sleep(); 在vc下sleep函式是以毫秒為單位,如果想讓其停留3秒,需要這樣做  sleep(3*1000);需要標頭檔案#include <windows.h> #in

jseval函式的使用

1.eval() 函式作用:可以接受一個字串str作為引數,並把這個引數作為指令碼程式碼來 執行。 2.引數情況:(1)如果引數是一個表示式,eval() 函式將執行表示式;          

pythonmap函式使用,資料型別轉換

python中map()函式進行資料轉換 用法: map(function, iterable, …), 返回的是map型,(ps:python2中返回的是list型可以直接顯示,但在python3中是map型無法直接顯示) 引數function: 傳的是一

javasleep方法的解析

Thread.sleep(3000); 就是指讓當前正在執行的佔用cpu時間片的執行緒掛起3000ms,把cpu的時間片交給其他執行緒,但是並沒有指定把CPU的時間片接下來到底交給哪個執行緒,而是讓這些執行緒自己去競爭(一般作業系統會根據優先順序排程) 所以說讓當執行緒睡眠,是幫助所有執行緒獲得執行時間的最佳

linuxfork函式詳解原創!!例項講解

    所以打印出結果:    0 parent 2043 3224 3225    0 child  3224 3225    0    第二步:假設父程序p3224先執行,當進入下一個迴圈時,i=1,接著執行fork,系統中又新增一個程序p3226,對於此時的父程序,p2043->p3224(當前程

pythonscatter函式用法,matplotlib畫圖

scatter函式用於繪製散點圖。 scatter函式原型 matplotlib.pyplot.scatter(x,y,s=20,c='b',maker='o',cmpa=None,norm=None,vmin=None,vax=None,alpha=None,linewi

Pythonbytearray函式的初識

簡單寫一下今天題目裡看到的知識: 關於Python的內建函式bytearray()。 今天做著LeetCode裡的小題目,發現了這個函式,當然這是大神寫的,自己寫的速度知識處於中等。題目大致如下: M

JSeval函式的重要性

eval()函式的使用率很高,那總結我經常在編寫中使用場景: 1.用來將伺服器返回的json字串 轉換成json物件: eval(“(“+jsonStr+”)”); 當要

C語言在sqrt函式的使用

C語言在中<math.h>中sqrt()函式的使用: 功 能: 計算一個非負實數的平方根 函式原型: 在VC6.0中的math.h標頭檔案的函式原型為double sqrt(double); 說明:sqrt系Square Root Calculations(

javasleep的用法

 Thread.sleep(long millis)和Thread.sleep(long millis, int nanos)靜態方法強制當前正在執行的執行緒休眠(暫停執行),以“減慢執行緒”。 當執行緒睡眠時,它睡在某個地方,在甦醒之前不會返回到可執行狀態。 當睡眠時

執行緒sleep方法和Object類的wait方法的區別

這兩者的施加者是有本質區別的. sleep()是讓某個執行緒暫停執行一段時間,其控制範圍是由當前執行緒決定,也就是說,線上程裡面決定.好比如說,我要做的事情是 "點火->燒水->煮麵",而當我點完火之後我不立即燒水,我要休息一段時間再燒.對於執行的主動權是由我

C\C++strcat函式

將兩個char型別連結。 char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s); 結果放在d中 printf("%s",d); 輸出 d 為 GoldenGlobalView (中間無空格

matbledisp函式

來自matble 中help disp術語:disp(X)disp(X)顯示變數X的值,而不列印變數名稱。我們做常見的是 另一種顯示變數的值,且列印變數名稱“X =”傳統不加disp加disp>> A=[15 150];>> AA =    15  

Pythonenumerate函式的用法

我們先來看看看幾個簡單的例子: <span style="font-size:14px;">>>> for i,j in enumerate(('a','b','c')

canny邊緣提取之三 雙閾值計算 matlabedge(I,'canny')函式sselectThresholds函式的C++轉換

1.matlab函式imhist函式 [B,X]=imhist(A,n)  %A定義為double型別 作用:將0~1區間劃分為n個區間,統計矩陣A在各個區間的頻率 引數:B--A出現在各個區間的頻率            X--n個區間的每個標記。 解釋:X有n個數據0,

Numpy.nonzero() 詳解 numpy module nonzero函式

最近看到《機器學習實戰》第6章PlattSMO演算法時, 遇到了numpy.nonzero()函式, 糾結了很久才看懂用法。 簡記之,共以後自己和他人蔘考。 numpy.nonzero(a)[source] Return the indices of the e

linuxfork函式詳解

【IT168 技術】  一個程序,包括程式碼、資料和分配給程序的資源。fork()函式通過系統呼叫建立一個與原來程序幾乎完全相同的程序,也就是兩個程序可以做完全相同的事,但如果初始引數或者傳入的變數不同,兩個程序也可以做不同的事。   一個程序呼叫fork()函式後,系

VS不同開發環境設定轉換C#->C++等

前幾天突然要使用C#程式設計,所以把VS開發環境給更換了,這不,又得更換回來!上一次是在案例提示下完成的,讓自己做,居然不會了,好吧……又重新找出案例,並記錄下,省的自己以後再忘,誰覺得有用也可以看看!******************************************************

jQuerybind,one,on,live這幾個繫結事件函式的區別

1、bind()方法 為每個匹配元素的特定事件繫結事件處理函式。bind()方法的底層邏輯是on()方法。 .bind() 方法是用於往文件上附加行為的主要方式。所有JavaScript事件物件,比如focus, mouseover, 和 resize,都是可以作為type引數傳遞進來

python的encode和decode函式

前言: 我們知道,計算機是以二進位制為單位的,也就是說計算機只識別0和1,也就是我們平時在電腦上看到的文字,只有先變成0和1,計算機才會識別它的意思。這種資料和二進位制的轉換規則就是編碼。計算機的發展中,有ASCII碼,GBK,Unicode,utf-8編碼。我們先從編碼的發展史瞭解一下編碼的進化過程。