环境变量
环境由一组格式为“名字=值“的字符串组成
在C语言程序中可以通过putenv和getenv函数来访问和设置环境变量,
在environ变量中保存有程序的所有环境变量,它以null结尾。
#include <stdlib.h>
extern char **environ;
char *getenv(const char *name);
name: 为环境变量的名称 例如HOME
返回值 若环境变量有相关值则返回相关值,若无相关值则返回值的第一个字节时null
若不存在查询的环境变量则返回null
int putenv( const char *string);
string 为 ”名字=值“的字符串作为参数,并将该字符串加到当前环境中。
返回值:如果由于内存不足导致不能扩展环境,他会返回 -1,并设置错误变量errno为ENOMEM
通过如下形式也可以为程序设定环境变量
$ FRED=hello ./env FRED
Variable FRED has value hello
时间和日期
所有的UNIX系统都是以格林尼治时间1970年1月1日0点开始计时的。从那时开始以秒计时。用一个time_t来存放时间,其实是一个long ing型#include <time.h>time_t time(time_t *tloc);
获取时间,返回值和,tloc都可以获得时间
double difftime(time_t time1, time_t time2); //为了最大限度的考虑可移植性,最好使用此函数
获得两个时间的时间差,并将time1-time2的值作为浮点数返回
struct tm *gmtime(const time_t *timeval); //get man time ?将time获得的时间转换为年月日时分秒(获得的时间为零时区时间)
stuct tm *localtime(const time_t *timeval)获得的时间为本时区时间
timeval: time函数获得的时间值
tm结构体:
int tm_sec 秒 0~61 //闰秒或双闰秒
int tm_min 分 0~59
int tm_hour 时
int tm_mday 日
int tm_mon 月
int tm_year 年
int tm_wday 星期几
int tm_yday 一年中的第几天,0~366
int tm_isdst 是否夏令时
time_t mktime (struct tm *timeptr);//将strut tm 转换为 time_t 如果struct tm不能被转换返回-1char *asctime(const struct tm *timeptr);//将给定的tm结构时间按照固定的字符串格式输出
char *ctime(const time_t *timeval);//以原始时间值为参数,并将它转换为一个更易读的本地时间。相当于asctime(localtime(timeval));
size_t strftime(char *s, size_t maxsize, const char *format, struct tm *timeptr);//格式化输出tm结构中的时间(string format time = strftime)
例如:年月日时分秒 “%Y%m%d%H%M%S“
char *strptime(const char *buf, const char *format, struct tm *timeptr);//读取字符串buf中的日期到timeptr中,返回char指针指向buf中不能识别的字符
新闻热点
疑难解答