总览
函数声明 | 函数功能 |
---|---|
double hypot(double x, double y); |
计算直角三角形的斜边长(double) |
float hypotf (float x, float y); |
计算直角三角形的斜边长(float) |
long double hypot(long double x, long double y); |
计算直角三角形的斜边长(long double) |
#define HUGE_VAL _HUGE |
正浮点常量表达式(double),这些表达式与浮点函数和运算符在溢出时返回的值相比较 |
#define HUGE_VALF __INFF |
正浮点常量表达式(float),这些表达式与浮点函数和运算符在溢出时返回的值相比较 |
#define HUGE_VALL __INFL |
正浮点常量表达式(long double),这些表达式与浮点函数和运算符在溢出时返回的值相比较 |
void harderr(int (*fptr)()); |
建立一个硬件错误处理程序 |
void hardresume(int rescode); |
硬件错误处理函数 |
void hardretn(int rescode); |
硬件错误处理函数 |
void highvideo(void); |
选择高亮度文本字符 |
int hcreate(size_t nel); |
根据条目数创建哈希表。 |
int hcreate_r(size_t nel, struct hsearch_data *htab); |
根据条目数及其描述创建哈希表。 |
ENTRY *hsearch(ENTRY item, ACTION action); |
添加或搜索哈希条目。 |
int hsearch_r (ENTRY item, ACTION action, ENTRY ** retval, struct hsearch_data * htab ) |
搜索哈希表。 |
void hdestroy(void); |
销毁哈希表,释放用于创建哈希表的内存。 |
void hdestroy_r(struct hsearch_data *htab); |
销毁哈希表,释放指定哈希表所占用的内存。 |
1. hypot,hypotf,hypotl
1.1 函数说明
函数声明 | 函数功能 |
---|---|
double hypot(double x, double y); |
计算直角三角形的斜边长(double) |
float hypotf (float x, float y); |
计算直角三角形的斜边长(float) |
long double hypot(long double x, long double y); |
计算直角三角形的斜边长(long double) |
1.2 演示示例
1 |
|
1.3 运行结果
2. HUGE_VAL,HUGE_VALF,HUGE_VALL
2.1 函数说明
宏定义 | 宏描述 |
---|---|
#define HUGE_VAL _HUGE |
正浮点常量表达式(double),这些表达式与浮点函数和运算符在溢出时返回的值相比较 |
#define HUGE_VALF __INFF |
正浮点常量表达式(float),这些表达式与浮点函数和运算符在溢出时返回的值相比较 |
#define HUGE_VALL __INFL |
正浮点常量表达式(long double),这些表达式与浮点函数和运算符在溢出时返回的值相比较 |
2.2 演示示例
1 |
|
2.3 运行结果
3. harderr,hardresume,hardretn
3.1 函数说明
函数声明 | 函数功能 |
---|---|
void harderr(int (*fptr)()); |
建立一个硬件错误处理程序 |
void hardresume(int rescode); |
硬件错误处理函数 |
void hardretn(int rescode); |
硬件错误处理函数 |
3.2 演示示例
1 |
|
上述程序是一个基于DOS环境的磁盘错误处理示例。在磁盘操作出现错误时,向用户显示具体的错误消息,并提供 “中止”、“重试” 和 “忽略” 三种处理选项,根据用户的选择进行相应的处理。
4. highvideo
4.1 函数说明
函数声明 | 函数功能 |
---|---|
void highvideo(void); |
选择高亮度文本字符 |
4.2 演示示例
1 |
|
上述利用 <conio.h>
头文件中的函数实现特定的控制台文本显示效果。
- 首先通过
clrscr()
函数清空控制台窗口。 - 然后调用
lowvideo()
将文本显示设置为低亮度,使用cprintf()
输出低亮度的"Low Intensity text"
文本并换行。 - 接着调用
highvideo()
把文本显示切换为高亮度,利用gotoxy(1, 2)
将光标定位到第 1 列第 2 行,再用cprintf()
输出高亮度的"High Intensity Text"
文本并换行,以此直观展示控制台中低亮度和高亮度两种不同的文本显示效果。
不过需要留意,
conio.h
并非标准 C 库的一部分,它主要在像 Turbo C 这类旧的编译器中使用,而在现代开发环境里可能不被支持。
5. hcreate,hcreate_r
5.1 函数说明
函数声明 | 函数功能 |
---|---|
int hcreate(size_t nel); |
根据条目数创建哈希表。 |
int hcreate_r(size_t nel, struct hsearch_data *htab); |
根据条目数及其描述创建哈希表。 |
入参:
- net : 哈希表中允许的最大项数。
- htab : 哈希表的结构体数据。
返回值:
- 如果操作成功,则返回一个非零值;
- 如果操作失败,则返回 0 并将 errno 设置为一个值。
5.2 演示示例
1 |
|
6. hsearch,hsearch_r
6.1 函数说明
函数声明 | 函数功能 |
---|---|
ENTRY *hsearch(ENTRY item, ACTION action); |
添加或搜索哈希条目。 |
int hsearch_r (ENTRY item, ACTION action, ENTRY ** retval, struct hsearch_data * htab ) |
搜索哈希表。 |
注意:
hsearch
和hsearch_r
函数根据指定的操作在哈希表中搜索条目。如果操作为 FIND,则仅执行搜索操作。如果操作为 ENTER,则未找到的条目将添加到哈希表中。hsearch_r
函数与hsearch
函数的不同之处在于,指向找到的项的指针以*retval
形式返回,而不是作为函数结果。
入参:
- item: 要搜索的哈希表条目。
- action: 功能操作。
ENTER
表示已添加条目,FIND
表示已搜索条目。- retval: 指向找到的项的指针。
- htab : 哈希表的结构体数据。
hsearch 函数返回值:
- 如果操作成功,则返回指向哈希表的指针。
hsearch_r 函数返回值:
- 如果操作成功,则返回一个非零值;
- 如果操作失败,则返回 0。
6.2 演示示例
参考 5.2
7. hdestroy,hdestroy_r
7.1 函数说明
函数声明 | 函数功能 |
---|---|
void hdestroy(void); |
销毁哈希表,释放用于创建哈希表的内存。 |
void hdestroy_r(struct hsearch_data *htab); |
销毁哈希表,释放指定哈希表所占用的内存。 |
7.2 演示示例
参考 5.2
8. htonl, htons
8.1 函数说明
函数声明 | 函数功能 |
---|---|
uint32_t htonl(uint32_t hostlong); |
将 uint32_t(32位整数,如IPv4地址)从主机字节序转为网络字节序。 |
uint16_t htons(uint16_t hostshort); |
将 uint16_t(16位整数,如端口号)从主机字节序转为网络字节序(大端)。 |
8.2 演示示例
1 |
|