首页 > 解决方案 > 头文件“<stdio.h>”和“<stdlib.h>”之间的区别

问题描述

C 编程中的头文件“<code><stdio.h>”和“<code><stdlib.h>”有什么区别?

标签: cheaderheader-filesstdio

解决方案


一个有一组函数声明、常量、宏和类型定义,另一个有一组不同的函数声明、常量、宏和类型定义。如果您想查看内容,可以使用简单的文本编辑器打开文件。


stdio代表标准输入/输出,其内容通常但不完全与输入输出操作相关,无论是硬件或物理设备还是系统支持的文件。可以在此处找到可用的函数声明、宏和类型定义的列表:

职能:

  • 文件操作:

    • remove - 删除文件

    • 重命名 - 重命名文件

    • tmpfile - 打开一个临时文件

    • tmpnam - 生成临时文件名

  • 文件访问:

    • fclose - 关闭文件

    • fflush - 刷新流

    • fopen - 打开文件

    • freopen - 使用不同的文件或模式重新打开流

    • setbuf - 设置流缓冲区

    • setvbuf - 更改流缓冲

  • 格式化输入/输出:

    • fprintf - 将格式化数据写入流

    • fscanf - 从流中读取格式化数据

    • printf - 将格式化数据打印到标准输出

    • scanf - 从标准输入读取格式化数据

    • snprintf - 将格式化输出写入大小缓冲区

    • sprintf - 将格式化数据写入字符串

    • sscanf - 从字符串中读取格式化数据

    • vfprintf - 将变量参数列表中的格式化数据写入流

    • vfscanf - 从流中读取格式化数据到变量参数列表中

    • vprintf - 将变量参数列表中的格式化数据打印到标准输出

    • vscanf - 将格式化数据读入变量参数列表

    • vsnprintf - 将变量参数列表中的格式化数据写入大小缓冲区

    • vsprintf - 将变量参数列表中的格式化数据写入字符串

    • vsscanf - 将格式化数据从字符串读取到变量参数列表中

  • 字符输入/输出:

    • fgetc - 从流中获取字符

    • fgets - 从流中获取字符串

    • fputc - 将字符写入流

    • fputs - 将字符串写入流

    • getc - 从流中获取字符

    • getchar - 从标准输入中获取字符

    • 获取 - 从标准输入获取字符串

    • putc - 将字符写入流

    • putchar - 将字符写入标准输出

    • puts - 将字符串写入标准输出

    • ungetc - 从流中获取字符

  • 直接输入/输出:

    • fread - 从流中读取数据块

    • fwrite - 将数据块写入流

  • 文件定位:

    • fgetpos - 获取流中的当前位置

    • fseek - 重新定位流位置指示器

    • fsetpos - 设置流的位置指示器

    • ftell - 获取流中的当前位置

    • rewind - 将流的位置设置为开头

  • 错误处理:

    • clearerr - 清除错误指示器

    • feof - 检查文件结束指示符

    • ferror - 检查错误指示器

    • perror - 打印错误信息

宏:

  • BUFSIZ - 缓冲区大小

  • EOF - 文件结束

  • FILENAME_MAX - 文件名的最大长度

  • FOPEN_MAX - 同时打开的流的潜在限制

  • L_tmpnam - 临时文件名的最小长度

  • NULL - 空指针(宏)

  • TMP_MAX - 临时文件数

  • 另外:_IOFBF、_IOLBF、_IONBF(与 setvbuf 一起使用)和 SEEK_CUR、SEEK_END 和 SEEK_SET(与 fseek 一起使用)。

类型:

  • FILE - 包含控制流的信息的对象

  • fpos_t - 包含指定文件位置信息的对象

  • size_t - 无符号整数类型


stdlib代表标准库,它具有通用功能,包括动态内存管理、随机数生成、通信、算术、搜索、排序和转换等。可用的函数声明、宏和类型定义列表可以在这里找到

职能

  • 字符串转换

    • atof - 将字符串转换为双精度

    • atoi - 将字符串转换为整数

    • atol - 将字符串转换为长整数

    • atoll - 将字符串转换为长整型

    • strtod - 将字符串转换为双精度

    • strtof - 将字符串转换为浮点数

    • strtol - 将字符串转换为长整数

    • strtold - 将字符串转换为长双精度

    • strtoll - 将字符串转换为长整型

    • strtoul - 将字符串转换为无符号长整数

    • strtoull - 将字符串转换为无符号长整型

  • 伪随机序列生成

    • rand - 生成随机数

    • srand - 初始化随机数生成器

  • 动态内存管理

    • calloc - 分配和零初始化数组

    • free - 释放内存块

    • malloc - 分配内存块

    • realloc - 重新分配内存块

  • 环境

    • abort - 中止当前进程

    • atexit - 设置退出时执行的函数

    • at_quick_exit - 设置快速退出时执行的函数

    • exit - 终止调用进程

    • getenv - 获取环境字符串

    • quick_exit - 快速终止调用进程

    • system - 执行系统命令

    • _Exit - 终止调用进程

  • 搜索和排序

    • bsearch - 数组中的二进制搜索

    • qsort - 对数组元素进行排序

  • 整数运算

    • abs - 绝对值

    • div - 积分除法

    • 实验室 - 绝对值

    • ldiv - 积分除法

    • llabs - 绝对值

    • lldiv - 积分除法

  • 多字节字符

    • mblen - 获取多字节字符的长度

    • mbtowc - 将多字节序列转换为宽字符

    • wctomb - 将宽字符转换为多字节序列

  • 多字节字符串

    • mbstowcs - 将多字节字符串转换为宽字符串

    • wcstombs - 将宽字符串转换为多字节字符串

宏常量

  • EXIT_FAILURE - 失败终止代码

  • EXIT_SUCCESS - 成功终止代码

  • MB_CUR_MAX - 多字节字符的最大大小

  • NULL - 空指针

  • RAND_MAX - rand 返回的最大值

类型

  • div_t - div 返回的结构

  • ldiv_t - ldiv 返回的结构

  • lldiv_t - lldiv 返回的结构

  • size_t - 无符号整数类型


推荐阅读