介绍
ANSI组织定义了C标准和标准库函数。
使用标准C函数优点:
使用标准C函数在任何平台上都支持,使得同一个源码,在Windows编译运行的结果和Linux上编译运行结果相同,无需更改代码。
随机数(rand)
产生指定范围内随机数(1~100)
#include <stdio.h>
#include <stdlib.h>
int main()
{
for (int i=0; i<10; i++)
{
printf("%d
", rand()%100);
}
}
每次运行会发现得到的是个随机数一样,为了解决这个问题,使用srand设置一个种子(seed),每次启动保证种子不同。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
for (int i=0; i<10; i++)
{
printf("%d
", rand()%100);
}
}
时间函数(time)
获取当前时间戳(单位:s),时间戳即为距离1970-01-01 00:00:00的秒数
#include <stdio.h>
#include <time.h>
int main()
{
time_t ts = time(NULL);
printf("%d
", (int)ts);
}
通过时间戳获取年月日,时分秒,周几
#include <stdio.h>
#include <time.h>
int main()
{
time_t ts = time(NULL);
tm time = *localtime(&ts);
int year = time.tm_year + 1900;
int month = time.tm_mon + 1;
int day = time.tm_mday;
int hour = time.tm_hour;
int min = time.tm_min;
int sec = time.tm_sec;
int week = time.tm_wday ;
return 1;
}
通过年月日,时分秒,获取time_t 时间戳
#include <stdio.h>
#include <time.h>
int main()
{
//时间为2017-07-15 21:38:30
tm time = {0};
time.tm_year = 2017 - 1900;
time.tm_mon = 7 -1;
time.tm_mday = 15;
time.tm_hour = 21;
time.tm_min = 38;
time.tm_sec = 30;
time_t ts = mktime(&time);
//获得该天为周几
tm time1 = *localtime(&ts);
printf("周%d
", time1.tm_wday);
return 1;
}
欢迎加群交流:C/C++开发交流