1 onps栈使用说明——API接口手册( 九 )

返回值
返回值为字符串指针,指向转换后的点分十进制格式的IPv4地址字符串,其地址其实就是参数pszAddr指向的地址 。
示例
CHAR szAddr[20];in_addr_t unAddr = inet_addr_small("192.168.0.9");printf("%s\r\n", inet_ntoa_safe_ext(unAddr, szAddr));返回目录
ip_addressing功能
比较两个IPv4地址是否属于同一网段 。
原型
BOOL ip_addressing(in_addr_t un1stIp, in_addr_t un2ndIp, in_addr_t unGenmask);
入口参数

  • un1stIp:第一个被比较的IPv4地址
  • un2ndIp:第二个被比较的IPv4地址
  • unGenmask:子网掩码
返回值
返回TRUE表示在同一网段,FALSE则不属于同一网段 。
示例

返回目录
strtok_safe功能
线程安全的strtok函数 。
原型
CHAR *strtok_safe(CHAR **ppszStart, const CHAR *pszSplitStr);
入口参数
  • ppszStart:指向下一个要被截取的字符串片段的指针的指针
  • pszSplitStr:指向分隔符的指针
返回值
返回字符串指针,指向下一个分隔符之前的字符串;返回值为NULL则截取完毕 。
示例
CHAR szTestStr[64];sprintf(szTestStr, "123;456;789,ABC;,EFG");CHAR *pszStart = szTestStr;CHAR *pszItem = strtok_safe(&pszStart, ";");while(NULL != pszItem){printf("%s\r\n", pszItem);pszItem = strtok_safe(&pszStart, ";");}返回目录
snprintf_hex功能
将16进制数据格式化为字符串 。
原型
void snprintf_hex(const UCHAR *pubHexData, USHORT usHexDataLen, CHAR *pszDstBuf, UINT unDstBufSize, BOOL blIsSeparate);
入口参数
  • pubHexData:指向16进制数据的指针
  • usHexDataLen:16进制数据的长度
  • pszDstBuf:指向接收缓冲区的指针,其用于接收格式化后的字符串
  • unDstBufSize:接收缓冲区的长度 , 单位:字节
  • blIsSeparate:格式化后的字符串在两个16进制数据之间是否增加空格,即2A 1F还是2A1F
返回值

示例
UCHAR ubHexData[16] = "\xAB\xCD\x2A\x1F\x3C\x4D";CHAR szHexDataStr[64];snprintf_hex(ubHexData, 6, szHexDataStr, 64, TRUE);printf("%s\r\n", szHexDataStr);返回目录
printf_hex功能
将16进制数据格式化为字符串输出到控制台 。
原型
void printf_hex(const UCHAR *pubHexData, USHORT usHexDataLen, UCHAR ubBytesPerLine);
入口参数
  • pubHexData:指向16进制数据的指针
  • usHexDataLen:16进制数据的长度
  • ubBytesPerLine:每行固定输出多少 字节的数据,比如16字节一行
返回值

示例
UCHAR ubHexData[16] = "\xAB\xCD\x2A\x1F\x3C\x4D\xAA\x4E\xFE\x45\x6B\x9A\x05\x71\x8E\x1B\x52\x78";printf_hex(ubHexData, 18, 16);返回目录
onps_error功能
将协议栈返回的错误码转换成具体的描述字符串 。
原型
const CHAR *onps_error(EN_ONPSERR enErr);
入口参数
  • enErr:错误编码
返回值
返回值为字符串指针,指向具体的错误描述字符串的指针 。
示例

返回目录
【1 onps栈使用说明——API接口手册】

推荐阅读