當前位置:首頁 » 操作系統 » c獲取時間linux

c獲取時間linux

發布時間: 2023-07-13 15:43:05

linux在終端運行C程序,怎麼計算運行的時間

#include "stdio.h"
#include "stdlib.h"
#include "time.h"

int main( void )
{
long i = 10000000L;
clock_t start, finish;
double ration;
start = clock();
while( i-- );
finish = clock();
ration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "程序運行 %f 秒\n", ration );
}

Ⅱ 在Linux下, 用C如何設置日期

1.時間表示

在程序當中,我們經常要輸出系統當前的時間,比如我們使用date命令的輸出結果.這個時候我們可以使用下面兩個函數:

#include
time_t time(time_t *tloc);
char *ctime(const time_t *clock);

time函數返回從1970年1月1日0點以來的秒數.存儲在time_t結構之中.不過這個函數的返回值對於我們來說沒有什麼實際意義.這個時候我們使用第二個函數將秒數轉化為字元串. 這個函數的返回類型是固定的:一個可能值為.Thu Dec7 14:58:59 2000 這個字元串的長度是固定的為26.

2.時間的測量
有時候我們要計算程序執行的時間.比如我們要對演算法進行時間分析.這個時候可以使用下面這個函數. #include int gettimeofday(struct timeval *tv,struct timezone *tz); strut timeval { long tv_sec; /* 秒數 */ long tv_usec; /* 微秒數 */ }; gettimeofday將時間保存在結構tv之中.tz一般我們使用NULL來代替. #include #include #include void function() { unsigned int i,j; double y; for(i=0;i<1000;i++) for(j=0;j<1000;j++) y=sin((double)i); } main() { struct timeval tpstart,tpend; float timeuse; gettimeofday(&tpstart,NULL); function(); gettimeofday(&tpend,NULL); timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+ tpend.tv_usec-tpstart.tv_usec; timeuse/=1000000; printf("Used Time:%f\n",timeuse); exit(0); }

這個程序輸出函數的執行時間,我們可以使用這個來進行系統性能的測試,或者是函數演算法的效率分析.在我機器上的一個輸出結果是: Used Time:0.556070

Ⅲ 在linux下怎樣用c語言獲取MP3時長最好有個例子!

1、主要是要解析MP3格式,計算MP3文件長度,然後根據播放每幀需 26ms,計算出播放時間。文件IO讀寫,就用fopen\fread系列酒可以。

2、#include <mmsystem.h>//包括多媒體API,標准c語言沒有相關介面函數
unsigned char str[256];
sprintf(timebuffer,"status %s position",MusicName);//timebuffer輸出緩存區,格式字元串到timebuffer,MusicName為播放歌曲的完整路徑
mciSendString(Music,str,256,NULL);//獲取時間,單位為毫秒
curtime=atoi(str)/1000;//單位化為秒,後面可以根據需要處理時間

Ⅳ c語言怎麼設置linux系統時間

可以調用函數

settimeofday

intsettimeofday(conststructtimeval*tv,conststructtimezone*tz);
structtimeval{
time_ttv_sec;/*secondssinceJan.1,1970*/
suseconds_ttv_usec;/*微妙*/
};

也可以用system調用系統命令date

Ⅳ c程序如何通過參數獲得linux系統啟動時間

試試clock_gettime:

struct timespec t;

clock_gettime(CLOCK_MONOTONIC, &t);
clock_gettime(CLOCK_BOOTTIME, &t);

CLOCK_MONOTONIC 和 CLOCK_BOOTTIME略有不同,詳情查看man clock_gettime.

Ⅵ Linux下C語言獲得系統時間的方法

沒有完整程序, 不過能提供一點資料

int gettimeofday(struct timeval * tv,struct timezone *tz);
這個函數可以獲取當前時間, 貌似只要第一個結構體就行了

struct timeval
{
time_t tv_sec; //秒 [long int]
suseconds_t tv_usec; //微秒 [long int], (10E-6 second)
};
struct timeval
{
long tv_sec;
long tv_usec;
};

然後取微秒的前三位就是小數了, 之後把秒 tv_sec 轉化為 tm 格式, 參數用秒的指針就行

struct tm * gmtime(const time_t * t);
//轉換成格林威治時間。有時稱為GMT或UTC。
struct tm * localtime(const time_t *t);
//轉換成本地時間。它可以透過修改TZ環境變數來在一台機器中,不同使用者表示不同時間.

下面是tm的部分參數

int tm_sec; //tm_sec表「秒」數,在[0,61]之間,多出來的兩秒是用來處理跳秒問題用的。/* Seconds: 0-59 (K&R says 0-61?) */
int tm_min; //tm_min表「分」數,在[0,59]之間。
int tm_hour; //tm_hour表「時」數,在[0,23]之間。
int tm_mday; //tm_mday表「本月第幾日」,在[1,31]之間。
int tm_mon; //tm_mon表「本年第幾月」,在[0,11]之間。
int tm_year; //tm_year要加1900表示那一年。 /* /* 年份,其值從1900開始 */*/
int tm_wday; //tm_wday表「本周第幾日」,在[0,6]之間。 /* Days since Sunday (0-6) */ /*其中0代表星期天,1代表星期一,以此類推 */
int tm_yday; //tm_yday表「本年第幾日」,在[0,365]之間,閏年有366日。 /*其中0代表1月1日,1代表1月2日,以此類推 */*/
int tm_isdst; //tm_isdst表是否為「日光節約時間」

------------------------------華麗麗的分割線--------------------------------------------------
由於很長時間沒編程了, 也沒有Linux環境, 我就簡單寫幾行代碼, 僅作參考

#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include<unistd.h>
//這四個不一定夠用了

struct timeval tv;
struct timezone tz;
struct tm * p_tm;
//變數沒有初始化習慣不好,不要學

gettimeofday(&tv, &tz);
p_tm = gmtime( (const time_t *)&tv.tv_sec );

字元串的組裝尤其格式問題自己解決吧
年 p_tm->tm_year+ 1900
月 p_tm->tm_mon+ 1
日 p_tm->tm_mday
時 p_tm->tm_hour+ 1
分 p_tm->tm_min+ 1
秒 p_tm->tm_sec+ 1
小數點後面的部分,注意不夠三位還是前面填充0 tv.tv_sec/1000

Ⅶ linux下C語言怎麼獲取文件創建時間

在 Windows 下,一個文件有創建時間、修改時間、訪問時間。而在 Linux 下,一個文件也有三種時間,分別是訪問時間(Access)、修改時間(Modify)、狀態改變時間(Change)。

可以使用 stat 命令查看文件的訪問時間、修改時間和狀態改變時間。

本人使用的機器的磁碟分區使用的文件系統類型是 ext3,也就是說本人是無法查看文件創建時間的。但是,如果文件創建後就沒有修改過,修改時間=創建時間;如果文件創建後,狀態就沒有改變過,那麼狀態改變時間=創建時間;如果文件創建後,沒有被讀取過,那麼訪問時間=創建時間,當這個基本不太可能。

那什麼時候訪問時間,修改時間和狀態改變時間會變化呢?比如我們使用vi打開文件但不編輯,那麼退出後文件的訪問時間就會改變;比如我們使用vi打開文件並且編輯後保存退出,那麼文件的修改時間就會改變,當然訪問時間也改變了;再比如使用chmod +x給文件增加可執行的屬性,那麼文件的狀態改變時間就會改變。

【答題不易,請採納謝謝】

熱點內容
軟體編程有哪些 發布:2025-03-16 16:46:07 瀏覽:477
最近上傳91 發布:2025-03-16 16:46:03 瀏覽:703
珍珠台編程 發布:2025-03-16 16:40:25 瀏覽:898
伺服器如何連接寬頻 發布:2025-03-16 16:31:19 瀏覽:656
電腦硬體消息查詢腳本 發布:2025-03-16 16:22:39 瀏覽:866
寶馬五系降價取消了哪些配置 發布:2025-03-16 16:09:41 瀏覽:240
學班java 發布:2025-03-16 16:09:00 瀏覽:598
切金磚解壓 發布:2025-03-16 16:08:45 瀏覽:774
資料庫流向圖 發布:2025-03-16 16:08:14 瀏覽:36
sql存儲過程更新 發布:2025-03-16 16:08:13 瀏覽:162