【C语言】C语言标准头文件

简介: 【C语言】C语言标准头文件
+关注继续查看

前言

为什么要学标准头文件:因为他是可以跨平台的,每个编译器都支持,所以我们需要学习。本节课讲的是<stdarg.h>/<stdbool.h>

<time.h>


提示:以下是本篇文章正文内容,下面案例可供参考

一、stdarg.h

含义:可变参数

示例代码

#include <stdio.h>
#include <stdarg.h>

void fun(int a, ...)
{
    //创建一个valist
    va_list v;
    //将a个参数装进v中
    va_start(v, a);
    //va_copy(valist _1,va_list _2);//复制宏
    
    //取变量   1.va_list  2.要的类型
    char c = va_arg(v, char);
    int aa = va_arg(v, int);

    //释放va_list
    va_end(v);
}

int main()
{
    fun('a', 18);
    return 0;
}

我们的printf()scanf_s()都是可变参数

二、stdbool.h

在我们原生C中没有bool等类型的

只有C++中有,为了移植性所以有这个头文件

头文件源码:

#ifndef _STDBOOL//防止重复包含
#define _STDBOOL

#define __bool_true_false_are_defined 1

#ifndef __cplusplus

//主体
#define bool  _Bool//原生C Bool类型是_Bool 通过宏定义改成和C++一样的格式
//预处理false 和 true
#define false 0
#define true  1

#endif /* __cplusplus */

#endif /* _STDBOOL */

三、time.h

1).time()

获取系统时间

用法:如果参数为NULL则时间戳通过返回值返回

如果不为NULL,则需要填写时间参数

时间类型:time_t—>__Int64

time_t t = time(NULL);
time_t tt;
time(&tt);

2).ctime与ctime_s

作用:将 time_t 转成日历时间的文本显示

ctime函数原型: char* ctime(time_t const* const _Time);

ctime_s函数原型:在基础上取出const char *,变成返回值

time_t t=time(NULL);
const char *Time;
ctime(&t,Time);

3).difftime()

作用:计算2个时间的时间差

函数原型:double difftime(time_t const _Time1,time_t const _Time2)

time_t t=time(NULL);
time_t tt=time(NULL);
double difftime_t = difftime(t,tt);

4).clock

作用:用来获取当前程序占用了 CPU 多长时间,非精确,精准到ms。

函数原型:clock_t clock(void);

clock_t c_t = clock();
//查看min/h 相对应的进行装化
clock_t c_t = clock()/60;

5).localtime()

作用:将 time_t 的时间转换成 struct tm 类型的时间。

结构体定义:

struct tm
{
    int tm_sec;   // seconds after the minute - [0, 60] including leap second
    int tm_min;   // minutes after the hour - [0, 59]
    int tm_hour;  // hours since midnight - [0, 23]
    int tm_mday;  // day of the month - [1, 31]
    int tm_mon;   // months since January - [0, 11]
    int tm_year;  // years since 1900
    int tm_wday;  // days since Sunday - [0, 6]
    int tm_yday;  // days since January 1 - [0, 365]
    int tm_isdst; // daylight savings time flag
};

怎么使用?使用函数localtime

函数原型:struct tm* localtime(time_t const* const _Time)


只需要用一个个tm的结构体指针接住他就行了,参数为time_t*


他也有_s版本,只是tm为参数,返回值为error


6).asctime

作用:将tm的结构体转换成文本形式

函数原型:char* asctime(struct tm const* _Tm);

asctime_s在基础上把返回值移动到参数1,参数2为参数1的大小,返回值变error_t

其余不变


7).mktime

作用:将tm类型转换成time_t类型

函数原型:time_t mktime(struct tm* const _Tm)


相关文章
|
1月前
|
编译器 程序员 C语言
26 C语言 - 头文件
26 C语言 - 头文件
9 0
|
6月前
|
编译器 程序员 C语言
C语言编程—头文件
头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。 在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。前面我们已经看过 stdio.h 头文件,它是编译器自带的头文件。
|
6月前
|
存储 网络协议 Unix
【C语言】标准库(头文件、静态库、动态库),windows与Linux平台下的常用C语言标准库(二)
【C语言】标准库(头文件、静态库、动态库),windows与Linux平台下的常用C语言标准库
|
6月前
|
编译器 Linux Shell
【C语言】标准库(头文件、静态库、动态库),windows与Linux平台下的常用C语言标准库(一)
【C语言】标准库(头文件、静态库、动态库),windows与Linux平台下的常用C语言标准库
|
11月前
|
Linux C语言
蓝桥杯之单片机学习(十六)——C语言中头文件与模块化设计
蓝桥杯之单片机学习(十六)——C语言中头文件与模块化设计
106 0
蓝桥杯之单片机学习(十六)——C语言中头文件与模块化设计
|
C语言
C语言基础-编写求两个整数最大公约数的函数,并调用此函数求两个整数的最大公约数和最小公倍数。(头文件、方法主体、主函数,分离)
这是我个人学习c语言的练习,如果对你有帮助,请关注我,我将不定期更新,如果疑问或者建议可以在评论区留言沟通。
|
开发工具 Windows
c语言_头文件_windows.h
概述 Win32程序的开头都可看到: #include WINDOWS.H是一个最重要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件中最重要的和最基本的是: WINDEF.H 基本数据类型定义。
1217 0
|
C语言 C++ 编译器
c语言_头文件_stdlib
简介 stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C、C++语言的最常用的系统函数 该文件包含了C语言标准库函数的定义 stdlib.h里面定义了五种类型、一些宏和通用工具函数。
1088 0
|
算法 C语言 C++
c语言_头文件
传统 C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include //设定插入点 #include //字符处理 #include //定义错误码 #include //...
709 0
相关产品
云迁移中心
推荐文章
更多