我是靠谱客的博主 贪玩夏天,最近开发中收集的这篇文章主要介绍計算時間的副程式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

精確度可以到 10 ms

[code]
// file: psc51.cpp
// for time1(), time2()

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <sys/timeb.h>
#include <time.h>
// ----------------------------------------------

#include "sj01.h"
// ----------------------------------------------

// time1(&t1);
void time1(long *t1)
{
/* FTIME.C: This program uses _ftime to obtain the current
* time and then stores this time in timebuffer.

millitm
Fraction of a second in milliseconds.

time
Time in seconds since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC).
*/

struct _timeb timebuffer;
// char *timeline;
long t2, t3, t4, t5, t6;

_ftime( &timebuffer );
// timeline = ctime( & ( timebuffer.time ) );

t2= timebuffer.time;// 秒
t3= t2%(1L*24L*60L*60L);
t4= t3*1000L;

t5= timebuffer.millitm;// 千分之ㄧ秒
t6= t4 + t5;
*t1= t6;

// printf( "The time is %.19s.%hu %s", timeline, timebuffer.millitm, &timeline[20] );
// printf("%ld, %ld, %ld, %ld, %ld, n",
// t2, t3, t4, t5, t6);
}// end of time1()
// ----------------------------------------------

// time2( t1, &dt);
void time2(long t1, double *dt)
{
long t2;
time1(&t2);

*dt= (t2 - t1)/1000.0;

// (*dt) >= 0
if ((*dt) < 0) {
(*dt)+= 1.0*24.0*60.0*60.0;
}
}// end of time2()
// ----------------------------------------------

void main()
{
int no, sum, i, ct1= 0;
long t1;
double dt;
// ----------------------------------------------

no= 10;
skip(3);
while (no > 0) {
time1(&t1);

sum= 0;
for (i=1;i<=no;i++) {
sum+= i;
}
time2(t1, &dt);
// ----------------------------------------------

ct1++;
printf("ct1= %3ld, no= %12ld, sum= %12ld, t1= %8ld, dt= %8.4lfn",
ct1, no, sum, t1, dt);

if (dt > 0) {
pause();
}

if (ct1>=16) {
// break;
}

no*= 2;
}

skip(1);
printf("*** end of program!n");
}// end of main()
[/code]

最后

以上就是贪玩夏天为你收集整理的計算時間的副程式的全部内容,希望文章能够帮你解决計算時間的副程式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部