跳转到内容

C 语言入门/C 标准实用程序库和时间库

来自维基教科书,自由的教科书

实用程序库包含许多函数。它需要以下声明

   #include <stdlib.h>

有用的函数包括

   atof( <string> )     Convert numeric string to double value.
   atoi( <string> )     Convert numeric string to int value.
   atol( <string> )     Convert numeric string to long value.
   rand()               Generates pseudorandom integer.
   srand( <seed> )      Seed random-number generator -- "seed" is an "int".
   exit( <status> )     Exits program -- "status" is an "int".
   system( <string> )   Tells system to execute program given by "string".
   abs( n )             Absolute value of "int" argument.
   labs( n )            Absolute value of long-int argument.

如果函数 "atof()", "atoi()", 和 "atol()" 无法将给定的字符串转换为数值,它们将返回 0。

时间和日期库包含各种各样的函数,其中一些函数比较晦涩且非标准。此库需要以下声明

   #include <time.h>

最基本的函数是 "time()",它返回自 1970 年 1 月 1 日协调世界时 (UTC) 子夜起经过的秒数(不包括闰秒)。它返回一个 "time_t" 类型的数值(一个 "long" 类型),如头文件中定义。

以下函数使用 "time()" 来实现一个以秒为单位的分辨率的程序延迟

   /* delay.c */

   #include <stdio.h>

   #include <time.h>

   void sleep( time_t delay );

   void main()
   {
     puts( "Delaying for 3 seconds." );
     sleep( 3 );
     puts( "Done!" );
   }

   void sleep( time_t delay )
   {
     time_t t0, t1;
     time( &t0 );
     do
     {
       time( &t1 );
     }
     while (( t1 - t0 ) < delay );
   }

"ctime()" 函数将 "time()" 返回的时间值转换为一个时间和日期字符串。以下小程序打印当前时间和日期

   /* time.c */

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

   void main()
   {
     time_t *t;
     time( t );
     puts( ctime( t ) );
   }

此程序打印一个如下形式的字符串

   Tue Dec 27 15:18:16 1994

进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书