`
dewei
  • 浏览: 162851 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

C语言实现 strpos 查找字符串首次出现位置

 
阅读更多

今天又写了个函数,查找字符串首次出现位置,以此作为记录:

/* {{{ 查找字符串首次出现的位置,没有找到返回 -1,两个字符串相等返回 0
   在GCC下使用C99:
   int strpos(const char *haystack,const char *needle, _Bool ignorecase = 0)
   _Bool ignorecase =1 忽略大小写
   时间:2012-08-17 By Dewei 
*/
int strpos(const char *haystack,const char *needle, _Bool ignorecase = 0)  
{  
	register unsigned char c, needc;
	unsigned char const *from, *end;
	int len = strlen(haystack);
	int needlen = strlen(needle);
	from = (unsigned char *)haystack;
	end = (unsigned char *)haystack + len;
	const char *findreset = needle;
	for (int i = 0; from < end; ++i) {
		c = *from++;
		needc = *needle;
		if (ignorecase) {
			if (c >= 65 && c < 97)
				c += 32;
			if (needc >= 65 && needc < 97)
				needc += 32;
		}
		if(c == needc) {
			++needle;
			if(*needle == '\0') {
				if (len == needlen) 
					return 0;
				else
					return i - needlen+1;
			}
		}  
		else {  
			if(*needle == '\0' && needlen > 0)
				return i - needlen +1;
			needle = findreset;  
		}
	}  
	return  -1;  
}  
/* }}} */
分享到:
评论

相关推荐

    php通过strpos查找字符串出现位置的方法

    主要介绍了php通过strpos查找字符串出现位置的方法,实例分析了strpos的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    自写PHP strpos() 函数 查找字符串在另一字符串中第一次出现的位置

    自写PHP strpos() 函数 查找字符串在另一字符串中第一次出现的位置. https://blog.csdn.net/qq_40534785/article/details/87939551

    php查找字符串出现次数的方法

    在php中查找字符串出现次数的查找可以通过substr_count()函数来实现,下面就来给大家详细介绍这些函数. substr_count($haystack, $needle [,$offset [,$length]]) 其中参数: $haystack表示母字符串,$needl表示要...

    php实现指定字符串中查找子字符串的方法

    strpos()函数将试图找到子字符串在源字符串中首次出现的位置。如果找到了,它会返回一个非负整数表示子字符串出现的位置。 否则它会返回一个布尔值false。 &lt;?php $haystack1 = "2349534134345w3mentor...

    php使用substr()和strpos()联合查找字符串中某一特定字符的方法

    主要介绍了php使用substr()和strpos()联合查找字符串中某一特定字符的方法,涉及php中substr()和strpos()函数的使用技巧,需要的朋友可以参考下

    strpos() 函数判断字符串中是否包含某字符串的方法

    strpos() 函数返回字符串在另一个字符串中第一次出现的位置。 如果没有找到该字符串,则返回 false。 语法 strpos(string,find,start) 参数 描述 string 必需。规定被搜索的字符串。 find 必需。规定要查找的字

    php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创

    本文实例讲述了php使用strpos判断字符串中数字类型子字符串出错的解决方法。分享给大家供大家参考,具体如下: 一、问题: 最近的开发中在程序代码里有一个随机数是否在给定字符串里的判断,我用了如下的测试代码: ...

    详解PHP处理字符串类似indexof的方法函数

    详解PHP处理字符串类似indexof的方法函数 在PHP中处理字符串类似 indexof 的函数或方法有两个,它们是 strpos 函数和 stripos 函数,这两个函数的...strpos() 函数查找字符串在另一字符串中第一次出现的位置。 注释:

    strlen.php

    PHP中字符串的处理的相关函数,strlen()函数统计字符串中字符的个数,str_word_count()函数统计字符串中单词的个数,strrev()函数使字符串实现反转,strpos()函数查找字符串内相匹配字符的第一个字符的位置,...

    php常用字符串查找函数strstr()与strpos()实例分析

    本文实例讲述了php常用字符串查找函数strstr()与strpos()。分享给大家供大家参考,具体如下: string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 1、$haystack被查找的字符串,$...

    php中字符查找函数strpos、strrchr与strpbrk用法

    ① strpos() 函数返回字符串在另一个字符串中第一次出现的位置,如果没有找到该字符串,则返回 false. 语法:strpos(string,find,start),代码如下: 复制代码 代码如下:$str=”hello world”; //定义字符串1 $result=...

    PHP检查URL包含特定字符串实例方法

    strpos()函数用于查找字符串中第一次出现的子字符串。如果子字符串存在,则该函数返回子字符串的起始索引,否则如果在字符串(URL)中找不到子字符串,则返回False。 注:strpos() 函数对大小写敏感,区分大小写。 ...

    PHP按符号截取字符串的指定部分的实现方法

    字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 有时我们想截取最后一个斜杠’/’后面的数字; 有时我们又需要截取第一个斜杠’/’前面的内容判断用户输入的url链接带不带http://等等; 字符...

    PHP在字符串中查找指定字符串并删除的代码

    您可能感兴趣的文章:php中3种方法删除字符串中间的空格php下删除字符串中HTML标签的函数php中ltrim()、rtrim()与trim()删除字符空格实例php中删除字符串中最先出现某个字符的实现代码php删除字符串末尾子字符,删除...

Global site tag (gtag.js) - Google Analytics