C语言函数大全--h开头的函数

总览
| 函数声明 | 函数功能 | 
|---|---|
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  | 
  |