请问时间函数的问题,clock()

到百度贴吧首页
新闻   网页   贴吧   知道   MP3   图片   视频   百科
    吧内搜索 | 帮助
  • 共有15篇贴子

请问时间函数的问题,clock()

218.83.72.*

1楼


2楼

所需头文件
#include <time.h>

函数原型
clock_t clock(void);

功能
clock()函数的返回值是一个代表了从程序开始运行到调用这个函数是大约用的时间,
单位是clock_t,如果系统不支持这个功能,或有错误产生,返回-1。

要把clock_t转换成我们熟悉的秒,可以用预定义的宏 CLOCKS_PER_SEC。

例如

#include <time.h>
#include <stdio.h>

int main (int argc, char * argv[])
{
 clock_t t;
 double beginning_time, finish_time;
 int i, j, k;

 (void)argc;
 (void)argv;

 t = clock();

 if ((clock_t)-1 == t)
 return -1; /* 调用失败,退出 */

 beginning_time = (double)t / (double)CLOCKS_PER_SEC; /* 转换成秒 */

 for (i = 0; i < 500; i++)
 for (j = 0; j < 500; j++)
 for (k = 0; k < 500; k++)
 ; /* 什么也不做 */

 t = clock();

 if ((clock_t)-1 == t)
 return -1; /* 调用失败,退出 */

 finish_time = (double)t / (double)CLOCKS_PER_SEC; /* 转换成秒 */

 printf("循环共用了 %g 秒\n", finish_time - beginning_time);

 return 0;
}

218.83.72.*

3楼

如果有 clock_t start,end;
 start=clock();
 end=clock();
 那么这两个返回值的数据类型到底是什么?输出的话用什么格式?是float类型吗?
time(NULL);一定要加NULL吗?但是我试的加NULL也不对,报错说没有定义.
 还有这个函数的返回值是什么类型?

218.83.72.*

4楼

%g是什么类型?

5楼

clock_t start,end;

瞧你自己的定义,你说他俩是什么类型?
输出的话看上例。

time 原型
time_t time(time_t *time);

返回当前系统时间,单位是time_t

别忘了包含 time.h

time_t now;
now = time(NULL); /* 把返回值(系统时间)赋与变量 now */

也可以这样调用

time_t now;
time(&now); /* 结果会把当前系统时间放在变量 now 里 */

6楼

pascal有这种函数吗?
---------------------------
欢迎来basic吧留贴

7楼

pascal 有三个 clock,wallclock,sysclock
可以去这里看:
http://web.mit.edu/sunsoft_v5.1/www/pascal/lang_ref/ref_builtin.doc.html

----------
basic 我忘得差不多了...

202.206.96.*

8楼

我想用c++实现获得系统时间,
大家有办法么
谢谢了

220.175.57.*

9楼

请问我要把当前的系统时间当作一个文本的文件名,应当怎么做呀?
218.80.7.*

10楼

这个感觉还可以就是面向对象有点狭隘,只是针对程序,如果换成一般的北京时间,怎么搞呀?
59.69.170.*

11楼

我在C中调用时间函数,加入头文件#include <stdlib.h>
运用时间函数t=gettime(),可老是说没有定义,是怎么回事呀,是不能用gettime()吗

12楼

我还没看懂
168.131.152.*

13楼

这边的单位是不是有点问题?
我执行了一小段程序,得到的时间是21秒左右(测了10次得到的平均值)。但是我感觉总共才10秒左右?
不知道大家有没有碰到这个问题?

14楼

4楼的,%g是实数,并且去无意义的零
60.209.27.*

15楼

struct time t;
gettime(&t);
printf("%d:%d:%d.%d",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund);

发表回复

内 容:
用户名:
  
©2010 Baidu 贴吧协议  意见反馈