C/C++ string库(string.h)提供了几个字符串查找函数,如下:

memchr 在指定内存里定位给定字符
strchr 在指定字符串里定位给定字符
strcspn 返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量
strrchr 在字符串里定位给定字符最后一次出现的位置
strpbrk 在字符串str1里定位字符串str2里任意一个首次出现的字符
strspn 返回字符串str1从开始字符到第一个不在str2中的字符个数
strstr 在字符串str1中定位字符串str2首次出现的位置
strRstrI 在字符串str1中定位字符串str2最后一次出现的位置

函数说明:

1、memchr

原型:const void * memchr ( const void * ptr, int value, size_t num);

void * memchr ( void * ptr, int value, size_t num);

参数:ptr,待查找的内存指针;

value,要查找的值;

num,内存大小。

说明:在ptr指向的内存中查找value,返回指向和value首次匹配的元素指针,如果没有找到,返回NULL指针。

2、strchr

原型:const char * strchr ( const char * str, int character);

char * strchr ( char * str, int character);

参数:str,待查找字符串指针;

character,要查找的值。

说明:在字符串str中查找character,返回指向和character首次匹配的元素指针,如果没有找到,返回NULL指针。

注释:
内存字节查找函数(memchr)和字符串查找函数(strchr)间的关系是前者包含后者,即内存字节查找函数(memchr)可以用于在任何数据类型(void *)的ptr中查找数据类型为int的参数值value,而字符串查找函数(strchr)则只能用于在char数据类型的str中查找数据类型为int的参数值character。

char *pstr=‘标准磁盘’;,则

strchr ( pstr,‘标’);或是memchr ( pstr,‘标’)运行结果如何?考虑到‘标’这个16bit编码值转换为int时会变成一个32bit的补码(即前16bit补1)。

3、strcspn

原型:size_t strcspn ( const char * str1, const char * str2);

参数:str1,待查找的字符串指针;

str2,要查找的字符串指针。

说明:在str1中查找str2中的字符,返回找到str2中任意一个字符时已查找的字符个数。

4、strrchr

原型:const char * strrchr ( const char * str, int character);

char * strrchr ( char * str, int character);

参数:str,待查找的字符串指针;

character,要查找的值。

说明:在str中查找character,返回指向与character最后一次匹配的元素的指针,如果没有找到,返回NULL指针。

5、strpbrk

原型:const char * strpbrk (const char * str1, const char * str2);

char * strpbrk ( char * str1, const char * str2);

参数:在str1中查找str2中任意一个字符,返回指向与首次出现的str2中的任意一个字符匹配的元素的指针,如果没有找到,返回NULL指针。

6、strspn

原型:size_t strspn ( const char * str1, const char * str2);

参数:str1,待查找的字符串指针;

str2,要查找的字符串指针。

说明:从str1的第一个字符开始算起,直到出现一个不在str2中的字符为止,返回字符个数。

7、strstr

原型:const char * strstr ( const char * str1, cosnt char *str2);

char * strstr ( char * str1, const char * str2);

参数:str1,待查找的字符串指针;

str2,要查找的字符串指针。

说明:在str1中查找匹配str2的子串,并返回指向首次匹配时的第一个元素指针。如果没有找到,返回NULL指针。

转自:点击打开链接

C语言的字符串查找函数相关推荐

  1. C语言用函数字符串的查找,字符串查找函数,C语言字符串查找函数详解

    在对 C 语言的编程实践中,字符串查找是最频繁的字符串操作之一,本节就对常用的字符串查找函数做一个简单的总结. 使用 strchr 与 strrchr 函数查找单个字符如果需要对字符串中的单个字符进行 ...

  2. perm函数c语言_理解C语言(三) 字符串处理函数

    1 字符串基础 字符串是一种重要的数据类型,有零个或多个字符组成的有限串行. 定义子串: 串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,任意串也是其自身的子串,如字符串"ade ...

  3. 字符串查找函数和错误信息报告函数

    前言: 本博客介绍了字符串查找函数(strstr.strtok)和错误信息报告函数(strerror) 字符串查找函数(strstr.strtok)的介绍及其应用: strstr函数的介绍及其模拟实现 ...

  4. python字符串find函数-python字符串查找函数的用法详解

    python字符串查找函数的使用 打开Python开发工具IDLE,新建"findstr.py'文件,并写代码如下: s ='/ab/bx,.s' print (s.find('/x')) ...

  5. 探索C语言之字符串分割函数:strtok和strsep的区别

    探索C语言之字符串分割函数:strtok和strsep的区别 概述 strsep - extract token from string(linux 下) strtok, strtok_r - ext ...

  6. 有意思的字符串查找函数strchr,strrchr,strstr,strrstr

    通过一段时间对字符串的了解,我发现了许多有意思的字符串函数,下面我们就以常见的字符串查找函数:strchr,strrchr,strstr,strrstr为例来模拟实现这些有意思的字符串查找函数吧! [ ...

  7. hive中字符串查找函数 instr 和 locate

    instr( ) 字符串查找函数: instr 语法: instr(string str, string substr)                                        ...

  8. 字符串查找函数Strstr函数的实现(详细易懂)

    首先,字符串查找函数是在目的字符串中查找源字符串的首次出现的具体位置,若找到了便返回该位置的地址,若没有找到,则返回空指针NULL char* strstr(const char*arr1 , con ...

  9. C语言常用字符串操作函数大全详解(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等)

    参考:string.h中常用字符串操作函数说明(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等) 作者:一只青木呀 ...

最新文章

  1. 杨超越的声音+高晓松的脸~如此酸爽的技术,你值得拥有!
  2. pytorch元素相乘_PyTorch – 变量和张量之间的元素乘法?
  3. 如何获取微信openId
  4. Bitcoin 中的挖矿算法(1) 难度值前奏
  5. 前端工程化(一)---工程目录搭建
  6. 一篇讲清:数据采集与埋点
  7. JAVA进阶day04多态(向上转化,向下转化)
  8. ReactiveCocoa入门
  9. Python时间序列数据分析--以示例说明
  10. xxx is not in the sudoers file. This incident will be reported.
  11. RobotStudio传送带设计
  12. shell之sed、awk
  13. 老人机java游戏模拟器_Java模拟器
  14. hive之经典sql面试题
  15. Kconfig使用详解
  16. android背景图拉伸,解决android:background背景图片被拉伸问题
  17. 面向对象与面向过程的区别与联系
  18. Go语言笔记 | 01-为什么要学Go语言
  19. Ambiguous method overloading for method ****** 异常的解决办法
  20. java反射机制是什么_java的反射机制是什么?

热门文章

  1. 情人节拷问:恋爱都谈不好,还谈什么客户?
  2. kali虚拟机联网问题
  3. 大数据之hive实践二(DDL+DML+查询+函数)
  4. html自动读取excel文件内容吗,用插件实现html直接读取excel
  5. 华为云会议智能会议室助力财通证券加速数字化
  6. 行测英语知识点(只针对自己)
  7. 嵌入式操作系统漫议:功能与特点
  8. mysql删除语句事务_事务用来管理 insert,update,delete 语句
  9. 使用飞信WebService获取到飞信好友列表(C#)
  10. PMP项目管理考试培训机构内部资料打包赠送(3个PPT)