分享好友 站长动态首页 网站导航

C语言实现url解析小实例

网友发布 2022-10-12 00:52 · 头闻号编程技术

文章下方附学习资源,自助领取。前言 本篇在此基础上,编写一个简单的用于解析url的小例子,最终目标是解析出URL中所有的数据信息。

3年嵌入式物联网学习资源整理分享:C语言、Linux开发、数据结构;软件开发,STM32单片机、ARM硬件开发、物联网通信开发、综合项目开发教程资料;笔试面试真题。

点击下方插件免费领取↓↓↓

2. strstr头文件#include函数定义char *strstr;函数说明查找 substr 所指的空终止字节字符串在 str 所指的空终止字节字符串中的首次出现。不比较空终止字符。若 str 或 substr 不是指向空终止字节字符串的指针,则行为未定义。

参数str :指向要检验的空终止字节字符串的指针substr :指向要查找的空终止字节字符串的指针返回值指向于 str 中找到的子串首字符的指针,或若找不到该子串则为空指针。

若 substr 指向空字符串,则返回 str 。3. strtok函数定义 char *strtok功能分解字符串 str 为一组字符串,delim 为分隔符参数str -- 要被分解成一组小字符串的字符串。delim -- 包含分隔符的 C 字符串。

返回值该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。4. strncpy函数说明char *strncpy功能将src指向的字符串拷贝到dest执行的内存中,最多拷贝n个字符参数dest -- 指向用于存储复制内容的目标数组。

src -- 要复制的字符串。

n -- 要从源中复制的字符数。返回值该函数返回最终复制的字符串。5. inet_pton/inet_ntop头文件#include #include #include 函数声明#include int inet_pton; 功能:将点分十进制的ip地址转化为用于网络传输的数值格式对于IPv4地址和IPv6地址都适用参数family:协议类型既可以是AF_INET(ipv4)也可以是AF_INET6(ipv6)。

如果,以不被支持的地址族作为family参数,这两个函数都返回一个错误,并将errno置为EAFNOSUPPORT.strptr:指向点分十进制的IP地址字符串,比如"192.168.1.1"addrptr:转换结果存放在addrptr中,比如"192.168.1.1"转换为:0xC0A80101addrptr类型为:struct in_addr typedef uint32_t in_addr_t;struct in_addr {in_addr_t s_addr;};返回值若成功则为1,若输入不是有效的表达式则为0,若出错则为-1const char * inet_ntop; 功能将数值格式转化为点分十进制的ip地址格式,从数值格式(addrptr)转换到表达式(strptr),返回值若成功则为指向结构的指针,若出错则为NULL6. gethostbyname函数的定义#include struct hostent * gethostbyname; 功能解析hostname指向的域名,该函数会将该域名封装到DNS协议包中,发送给DNS服务器,DNS服务器会将该域名对应的地址返回,存储在struct hostent中参数hostname :存储域名对应的字符串。

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

评论

0

收藏

点赞