下:http://t.csdnimg.cn/LXa0J
C 标准库是一组 C 内置函数、常量和头文件,比如 <stdio.h>、<stdlib.h>、<math.h>,等等。
目录
一. assert.h
二. ctype.h
三. errno.h
四. float.h
五.limits.h
六. locale.h
一. assert.h
源码截图

用法

在程序运行时它计算括号内的表达式,如果成立则继续执行后面的语句,如果不成立,则报告错误,并终止执行.
ps: asert只有在Debug版本有效

二. ctype.h
主要用于检查字符的类型(如字母、数字、空白字符等)以及进行字符大小写转换。
详解
isalnum 检查 ch 是否为字母或数字
isalpha 检查 ch 是否为字母
isblank (C++11 only) 检查 ch 是否为’\t’ 或 ’ ’
iscntrl 检查 ch 是否为控制字符( ASCII值在 0 ~ 31)
isdigit 检查 ch 是否为数字( ‘0’ ~ ‘9’ )
isgraph 检查 ch 是否为可显示字符,不包括空格
islower 检查 ch 是否为小写字母(‘a’ ~ ‘z’)
isprint 检查 ch 是否为可打印字符,包括空格
ispunct 检查 ch 是否为标点字符,即除字母,数字和空格以外的所有可打印字符
isspace 检查 ch 是否为 ’ ', ‘\t’, ‘\n’, ‘\v’, ‘\f’, ‘\r’
isupper 检查 ch 是否为大写字母(‘A’ ~ ‘Z’)
isxdigit 检查 ch 是否为一个 16 进制的数学字符(即 ‘0’ ~ ‘9’ 或 ‘A’ ~ ‘F’ 或 ‘a’ - ‘f’)
tolower 将 ch 字符转换成小写字母
toupper 将 ch 字符转换成大写字母
源码截图


例子

代码
#include <stdio.h>#include <ctype.h>int main()
{char  NumChar[] = "A,B,3 \n";//判断是否为数字或字母printf("是否为数字或字母 %d \n", isalnum(NumChar[0]));//判断是否为字母printf("是否为字母 %d \n", isalpha(NumChar[4]));//大写字母转换为小写字母printf("大写字母转换为小写字母 %c \n", tolower(NumChar[0]));
}三. errno.h
提供了一种在程序中报告和处理错误的机制。
常用错误码:
EPERM:操作不允许
ENOENT:没有这样的文件或目录
ESRCH:没有这样的进程
EINTR:中断的系统调用
EIO:输入/输出错误
ENXIO:没有这样的设备或地址
E2BIG:参数列表太长
ENOMEM:内存不足
EACCES:权限被拒绝
EFAULT:坏的地址
EBUSY:资源忙
EEXIST:文件已存在
EXDEV:跨设备链接
ENODEV:没有这样的设备
ENOTDIR:不是一个目录
EISDIR:是一个目录
EINVAL:无效的参数
ENFILE:系统文件表溢出
EMFILE:打开的文件过多
ENOTTY:不是终端设备
ETXTBSY:文本文件忙
EFBIG:文件过大
ENOSPC:设备上没有空间
ESPIPE:非法的寻址
EROFS:只读文件系统
EMLINK:链接过多
EPIPE:管道破裂
源码截图

用法截图:

代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
#include <string.h>int main() {FILE* file = fopen("test11.txt", "r");if (file == NULL) {printf("文件为空,错误原因: %s\n", strerror(errno));return 1;}// 文件处理代码fclose(file);return 0;
}四. float.h
包含了一组与浮点值相关的依赖于平台的常量。
库宏描述:
| 宏 | 描述 | 
|---|---|
| FLT_ROUNDS | 定义浮点加法的舍入模式,它可以是下列任何一个值: 
 | 
| FLT_RADIX 2 | 这个宏定义了指数表示的基数。基数 2 表示二进制,基数 10 表示十进制,基数 16 表示十六进制。 | 
| FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG | 这些宏定义了 FLT_RADIX 基数中的位数。 | 
| FLT_DIG 6 DBL_DIG 10 LDBL_DIG 10 | 这些宏定义了舍入后不会改变表示的十进制数字的最大值(基数 10)。 | 
| FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP | 这些宏定义了基数为 FLT_RADIX 时的指数的最小负整数值。 | 
| FLT_MIN_10_EXP -37 DBL_MIN_10_EXP -37 LDBL_MIN_10_EXP -37 | 这些宏定义了基数为 10 时的指数的最小负整数值。 | 
| FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP | 这些宏定义了基数为 FLT_RADIX 时的指数的最大整数值。 | 
| FLT_MAX_10_EXP +37 DBL_MAX_10_EXP +37 LDBL_MAX_10_EXP +37 | 这些宏定义了基数为 10 时的指数的最大整数值。 | 
| FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 | 这些宏定义最大的有限浮点值。 | 
| FLT_EPSILON 1E-5 DBL_EPSILON 1E-9 LDBL_EPSILON 1E-9 | 这些宏定义了可表示的最小有效数字。 | 
| FLT_MIN 1E-37 DBL_MIN 1E-37 LDBL_MIN 1E-37 | 这些宏定义了最小的浮点值。 | 
源码截图

例子:

源码:
#include <stdio.h>
#include <float.h>int main()
{printf("浮点数能表示的最大值。 = %.10e\n", FLT_MAX);printf("浮点数的最小值 = %.10e\n", FLT_MIN);printf("数字中数位的数量 = %.10e\n", FLT_MANT_DIG);
}五.limits.h
定义了各种数据类型的限制;
库宏描述:
| 宏 | 描述 | 值 | 
|---|---|---|
| 字符类型 | ||
| CHAR_BIT | char类型的位数 | 通常为 8 | 
| CHAR_MIN | char类型的最小值(有符号或无符号) | -128 或 0 | 
| CHAR_MAX | char类型的最大值(有符号或无符号) | 127 或 255 | 
| SCHAR_MIN | signed char类型的最小值 | -128 | 
| SCHAR_MAX | signed char类型的最大值 | 127 | 
| UCHAR_MAX | unsigned char类型的最大值 | 255 | 
| 短整数类型 | ||
| SHRT_MIN | short类型的最小值 | -32768 | 
| SHRT_MAX | short类型的最大值 | 32767 | 
| USHRT_MAX | unsigned short类型的最大值 | 65535 | 
| 整数类型 | ||
| INT_MIN | int类型的最小值 | -2147483648 | 
| INT_MAX | int类型的最大值 | 2147483647 | 
| UINT_MAX | unsigned int类型的最大值 | 4294967295 | 
| 长整数类型 | ||
| LONG_MIN | long类型的最小值 | -9223372036854775808L | 
| LONG_MAX | long类型的最大值 | 9223372036854775807L | 
| ULONG_MAX | unsigned long类型的最大值 | 18446744073709551615UL | 
| 长长整数类型 | ||
| LLONG_MIN | long long类型的最小值 | -9223372036854775808LL | 
| LLONG_MAX | long long类型的最大值 | 9223372036854775807LL | 
| ULLONG_MAX | unsigned long long类型的最大值 | 18446744073709551615ULL | 
源码截图:

例子:

源码:
#include <stdio.h>
#include <limits.h>int main() {printf("字符类型:\n");printf("CHAR_BIT: %d\n", CHAR_BIT);printf("CHAR_MIN: %d\n", CHAR_MIN);printf("CHAR_MAX: %d\n", CHAR_MAX);printf("SCHAR_MIN: %d\n", SCHAR_MIN);printf("SCHAR_MAX: %d\n", SCHAR_MAX);printf("UCHAR_MAX: %u\n", UCHAR_MAX);return 0;
}六. locale.h
用于支持程序的国际化和本地化。
库宏描述:
| 序号 | 宏 & 描述 | 
|---|---|
| 1 | LC_ALL 用于设置或查询所有本地化类别。 | 
| 2 | LC_COLLATE 用于设置或查询字符串比较的本地化信息。 | 
| 3 | LC_CTYPE 用于设置或查询字符处理的本地化信息。 | 
| 4 | LC_MONETARY 用于设置或查询货币格式的本地化信息。 | 
| 5 | LC_NUMERIC 用于设置或查询数字格式的本地化信息(例如小数点的符号)。 | 
| 6 | LC_TIME 用于设置或查询时间格式的本地化信息。 | 
| 7 | locale_t 表示区域设置信息的类型。 | 
源码截图:

例子:

源码
#include <stdio.h>
#include <locale.h>int main() {// 设置本地化信息为用户环境变量中的默认设置setlocale(LC_ALL, "");// 获取和打印当前的本地化信息printf("Current locale for LC_ALL: %s\n", setlocale(LC_ALL, NULL));   //Chinese (Simplified)_China.936return 0;
}