套接字编程中常用的地址转换函数

2024-08-23 23:58

本文主要是介绍套接字编程中常用的地址转换函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.字节排序函数:

#include<netinet/in.h>

unit16_t htons(unit16_t host16bitvalue); 如TCP或UDP端口号
unit32_t htonl(unit32_t host32bitvalue); 如IPv4地址
均返回:网络字节序的值
unit16_t ntohs(unit16_t net16bitvalue);
unit32_t ntohl(unit32_t net32bitvalue);
均返回:主机字节序的值

2.字节操纵函数:

#include<strings.h>

void bzero(void *dest, size_t nbytes);
功能:把目标字符串指定数目的字节置为0;

void bcopy(const void *src, void *dest, size_t nbytes);
功能:将指定数目的字节从源字节串复制到目标字符串;

int bcmp(const void *ptr1, const void *ptr2, size_t nbytes);
返回:若相等则为0,否则为非0
功能:比较连个任意字符串;

#include<string.h>

void *memset(void *dest,int c, size_t len);
功能:把目标字符串指定数目的字节置为c值;

void *memcpy(void *dest, const void *src, size_t nbytes);
功能:类似bcopy,当源字节串与目标字节串重叠时,bcopy能正确处理,但是memcpy的操作结果却不可知;

int memcmp(const void *ptr1, const void *ptr2, size_t nbytes);
返回:若相等则为0,否则为<0或>0
功能:比较两个任意的字节串,如果ptr1>ptr2则返回>0,反之<0,若相等返回0;

3.地址转换函数:

#include<arpa/inet.h>

int inet_aton(const char *strptr, struct in_addr *addrptr);
返回:若字符串有效则为1,否则为0
功能:将strptr指向的字符串转换成一个32位字节序二进制值,并通过指针addrptr来存储;

in_addr_t inet_addr(const char *strptr);
返回:若字符串有效则为32位二进制网络字节序的IPv4地址,否则为INADDR_NONE(通常是一个32位均为1的值)
功能:进行相同的转换,返回值为32位的网络字节序二进制值,255.255.255.255不能由该函数处理;

char *inet_ntoa(struct in_addr inaddr);
返回:指向一个点分十进制数串的指针
功能:将一个32位的网络字节序二进制IPv4地址转换成相应的点分十进制数串;

int inet_pton(int family, const char *strptr, void *addrptr);
返回:若成功则返回1,若输入不是有效的表达式格式则为0,若出错则为-1
功能:转换由strptr指针所指的字符串,并通过addrptr指针存放二进制结果。

const char *inet_ntop(int family, const void* addrptr, char *strptr, size_t len);
返回:若成功则为指向结果的指针,若出错则为NULL
功能:从数值格式转换到表达式格式。

inet_pton和inet_ntop函数对于IPv4和IPv6都适用,上面4个函数仅适用于IPv4.

这篇关于套接字编程中常用的地址转换函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100861

相关文章

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项