码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中一些不常用函数

时间:2015-05-11 10:51:10      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:c

time
这个用的最多就是随机数的时候,现在用一用其他特性.

#include <stdio.h>
#include <time.h>

int main()
{
    time_t sec;       ///typedef long time_t
    struct tm * curTime;

    sec = time(NULL);           ///获取时间,从1970.1.1到现在的秒数,也可以写成 time(&sec);
    curTime = localtime(&sec);  ///把sec转换为当地时间,存于时间结构体curTime中,注意返回值是struct tm* 类型的

    printf("asctime(curTime): %s\n", asctime (curTime));
        ///asctime(struct tm*)函数将curTime转化成标准ASCII时间格式

    printf("ctime(curTime):   %s\n", ctime (&sec));
        ///ctime(time_t*)直接将sec转换成标准时间格式

    printf("%d-%d-%d %d:%d:%d\n", 1900+curTime->tm_year, 1+curTime->tm_mon,
        curTime->tm_mday, curTime->tm_hour, curTime->tm_min, curTime->tm_sec);
        ///手动输出struct tm中的字段,其中月份加1,年份要加1900,
        ///sec记录的是1970到现在的秒数,为什么是加1900呢???

    printf("\nsec = %ld\nmktime(curTime) = %ld\n", sec, mktime(curTime));
        ///time_t mktime(struct tm*)将curTime反向转化成1970到现在的秒数
    return 0;
}

字符转换/数学公式
#include <stdlib.h>
把字符串转化成浮点数:double atof( const char *str );
或 double strtod( const char *start, char **end );
把字符串转化成整型数:int atoi( const char *str );
长整型:long atol( const char *str );
二分查找:
void bsearch(const void *key, const void *buf, size_t num, size_t size, int (*compare)(const void , const void *));

#include <math.h>
以十为底的对数函数:double log10(double x);
以e(=2.71828)为底:double log(double x);
反正切函数:double atan(double x); //返回值范围(-PI/2,PI/2)
double atan2(double y, double x); //返回点(x,y)与原点的连线和x轴正方向的夹角(弧度制),范围(-PI,PI]
说明: 1.特别注意:参数的顺序是y,x,不是x,y.
2.结果为正表示从x 轴逆时针旋转的角度,结果为负表示从x 轴顺时针旋转的角度.
3.atan2(y, x) 与 atan(y/x) 返回值的范围不同.
4.当x=0,y=0时返回错误.

C语言中一些不常用函数

标签:c

原文地址:http://blog.csdn.net/gg_gogoing/article/details/45640657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!