windows下使用memem函数的实现
来源:互联网 发布:nginx过滤url ip限制 编辑:程序博客网 时间:2024/05/20 18:42
一、FreeBDS
#include <string.h> /* * Find the first occurrence of the byte string s in byte string l. */ void *memmem(const void *l, size_t l_len, const void *s, size_t s_len){ register char *cur, *last; const char *cl = (const char *)l; const char *cs = (const char *)s; /* we need something to compare */ if (l_len == 0 || s_len == 0) return NULL; /* "s" must be smaller or equal to "l" */ if (l_len < s_len) return NULL; /* special case where s_len == 1 */ if (s_len == 1) return memchr(l, (int)*cs, l_len); /* the last position where its possible to find "s" in "l" */ last = (char *)cl + l_len - s_len; for (cur = (char *)cl; cur <= last; cur++) if (cur[0] == cs[0] && memcmp(cur, cs, s_len) == 0) return cur; return NULL;}
二、其他实现
void *memmem(const void *start, unsigned int s_len, const void *find, unsigned int f_len){char *p = (char *)start;char *q = (char *)find;;unsigned int len= 0;if (s_len == 0 || f_len == 0)return NULL;if (s_len < f_len)return NULL;while((p - (char *)start + f_len) <= s_len){while(*p++ == *q++){len++;if(len == f_len)return(p - f_len);};q = (char *)find;len = 0;};return NULL;}
0 0
- windows下使用memem函数的实现
- Windows下使用Interlocked系列函数实现的一个轻量级读写锁
- 使用WZC函数在WINDOWS CE下搜索连接WIFI的具体实现与源码
- 使用WZC函数在WINDOWS CE下搜索连接WIFI的具体实现与源码
- 用api函数实现windows下的串行通讯
- windows下使用php自带的mail函数实现简单的邮件发送实例(QQ亲试成功)
- CryptGenRandom windows下生成随机数的函数使用
- windows下进程快照CreateToolhelp32Snapshot()函数的使用
- Windows下使用GetOpt函数使用
- Windows下使用GetOpt函数使用
- Windows下使用GetOpt函数使用
- Windows下,实现不使用缓存的文件读写方式
- Windows下使用TortoiseGit实现Git的分支实例
- windows 下使用gcc编译. c文件的实现方法。
- Windows下使用C语言实现Ping的源码
- windows下使用vfw方式生成AVI视频的实现
- Windows下Sublime text3实现函数跳转
- Windows下的gotoxy 函数
- 程序员必须知道的10大基础实用算法及其讲解(1)
- pat1020. Tree Traversals (25)
- windows之UIAutomation的UI元素操作
- WebSphere异常:Servlet has become temporarily unavailable for service
- 在js中for in的用法
- windows下使用memem函数的实现
- Comparable与Comparator的区别
- C语言实现直方图均衡化
- 正则表达式练习题以及答案(如果有错误的话帮忙更正)
- 面试珠玑 在unix文件系统中,inode节点包括哪些内容?
- Tomcat与Apache的集成
- POJ 1383 --Labyrinth【BFS】
- 记录下 js各种证件的正则验证
- windows之C# 桌面截图