介绍

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\n", 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\n", 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\n", (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\n", time1.tm_wday);
	return 1;
}

 

欢迎加群交流:C/C++开发交流

 

 

 

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐