当前位置: 代码迷 >> C语言 >> [求助] 请教关于time.h里的内容
  详细解决方案

[求助] 请教关于time.h里的内容

热度:456   发布时间:2006-11-29 16:01:28.0
[求助] 请教关于time.h里的内容

谁能帮我解释一下,,下面的程序:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"

void sleep(int nbr_seconds);

int main(void)
{
int ctr;
int wait=13;

printf("delay for %d seconds \n",wait);
printf(">");

for(ctr=1;ctr<=wait;ctr++)
{
printf(".");
fflush(stdout);//解释一下:
sleep((int)1);


}
printf("done\n");
return 0;
}

void sleep(int nbr_seconds)
{
clock_t goal;
goal=(nbr_seconds * CLOCKS_PER_SEC)+clock();//解释一下,,

while(goal>clock())
{
;
}
}

我尤其不明白 CLOCKS_PER_SEC 是什么东西,,还有为什么要+clock()....clock()的函数是怎么写的?具体完成什么功能

谢谢各位,,我是新手,,照顾一下啊;

搜索更多相关的解决方案: int  ctr  time  void  

----------------解决方案--------------------------------------------------------
有没有高手,请教一下啊
----------------解决方案--------------------------------------------------------
在某些实时性比较强的场合,需要数据及时的达到目的地,这种时候缓存反而会造成数据传送延迟。fflush()就是强制把数据从数据缓冲区发出去,而不是等到数据达到一定的量之后才发送。
网上随便查查就能查到
----------------解决方案--------------------------------------------------------

谢谢你


----------------解决方案--------------------------------------------------------
我的头文件里便没有定义CLOCKS_PER_SEC,但是它指的是计算机的时钟频率(CLK_TCK 18.2)因此可以用18.2代替之。
----------------解决方案--------------------------------------------------------

函数名: fflush
功 能: 清除一个流
用 法: int fflush(FILE *stream);
程序例:

#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <io.h>

void flush(FILE *stream);

int main(void)
{
FILE *stream;
char msg[] = "This is a test";

/* create a file */
stream = fopen("DUMMY.FIL", "w");

/* write some data to the file */
fwrite(msg, strlen(msg), 1, stream);

clrscr();
printf("Press any key to flush\
DUMMY.FIL:");
getch();

/* flush the data to DUMMY.FIL without\
closing it */
flush(stream);

printf("\nFile was flushed, Press any key\
to quit:");
getch();
return 0;
}

void flush(FILE *stream)
{
int duphandle;

/* flush the stream's internal buffer */
fflush(stream);

/* make a duplicate file handle */
duphandle = dup(fileno(stream));

/* close the duplicate handle to flush\
the DOS buffer */
close(duphandle);
}


----------------解决方案--------------------------------------------------------
  相关解决方案