C 语言入门/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