C语言标准库(1)
一、引入
C 标准库是一组 C 内置函数、常量和头文件,比如 <stdio.h>、<stdlib.h>、<math.h>,等等。这个标准库可以作为 C 程序员的参考手册。
二、常用C标准库
1.<assert.h>
(1) 简介
C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。
已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:
#define assert(ignore) ((void)0)
(2) 常用函数
其中只有唯一一个函数
void assert(
int expression
);
这实际上是一个宏,不是一个函数,可用于在 C 程序中添加诊断。
i.参数
expression – 这可以是一个变量或任何 C 表达式。如果 expression 为 TRUE,assert() 不执行任何动作。如果 expression 为 FALSE,assert() 会在标准错误 stderr 上显示错误消息,并中止程序执行。
ii.返回值
这个宏不返回任何值。
2.<ctype.h>
(1) 简介
C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和映射字符。
这些函数接受 int 作为参数,它的值必须是 EOF 或表示为一个无符号字符。
如果参数 c 满足描述的条件,则这些函数返回非零(true)。如果参数 c 不满足描述的条件,则这些函数返回零。
(2) 函数举例
a. isalnum()
template<Class CharType>
bool isalnum(
CharType _Ch,
const locale& _Loc
)
该函数检查所传的字符是否是字母和数字。
i.参数
_Ch --这是要检查的字符。
_Loc --包含字母数字元素的区域设置进行测试。
ii.返回值
如果 _Ch 是一个数字或一个字母,则该函数返回非零值,否则返回 0。
iii.实例
// locale_isalnum.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = isalnum ( 'L', loc);
bool result2 = isalnum ( '@', loc);
bool result3 = is