跳转至

Standard Library

约 466 个字 预计阅读时间 2 分钟

assert

stdio

  • int sprintf(char *buffer, const char *format,...)函数

    向字符串buffer里写入,相当于多了一个转换格式/读写的工具函数。

  • int fprintf(FILE *stream, const char *format,...)函数

  • sscanf()函数

  • fscanf()函数

    向输出流stream中写入。

stdlib

1. 随机数

  • void srand(unsigned int seed)

    srand()函数为伪随机数生成器rand()播种,正常的用法是:srand((unsigned int) time(NULL))

    这段代码利用当前时间为伪随机数生成器rand(0)提供种子,这样子就可以得到了近似于真随机的随机数。

  • int rand(void)

    伪随机数生成器rand()生成一个介于0RAND_MAX的随机数。如果没有srand()的播种,rand()函数就会默认生成种子为1的随机数。每次调用rand()函数,我们得到的都是上次生成的随机数的下一个数

    值得注意的是,在调用函数rand()之前的时候,伪随机数生成器只应该被播种一次。

    Generally speaking, the pseudo-random number generator should only be seeded once, before any calls to rand(), and the start of the program. It should not be repeatedly seeded, or reseeded every time you wish to generate a new batch of pseudo-random numbers.

    更重要的是,当rand()接受相同的种子的时候,他会生成相同的随机数数列。

time

变量类型

  • time_t 这是一个适合储存日历时间的长整型(long int)变量,表示着从POSIX time (1970年1月1日00:00)开始的总秒数。

函数

  • time_t time(time_t *seconds)

    time()函数将当前日历时间作为一个time_t类型的变量返回,并且将这个变量存储在输入的指针seconds中(前提是这个指针不为空指针)。

    由于time_t类型其实是一个long int转换成int(或者unsigned int)的时候还是需要强制转换说明的2