#include <string.h>  
char *strchr(const char *s, int c);
 
The strchr() function returns a pointer to the first occurrence of the character c in the string s.
char *strrchr(const char *s, int c); The strrchr() function returns a pointer to the last occurrence of the character c in the string s.
size_t strspn(const char *s, const char *accept); The strspn() function calculates the length (in bytes) of the initial segment of s which consists entirely of bytes in accept.
size_t strcspn(const char *s, const char *reject); The strcspn() function calculates the length of the initial segment of s which consists entirely of bytes not in reject.
char *strpbrk(const char *s, const char *accept); The strpbrk() function returns a pointer to the byte in s that matches one of the bytes in accept, or NULL if no such byte is found.
char *strstr(const char *haystack, const char *needle); These functions return a pointer to the beginning of the located substring, or NULL if the substring is not found.
 
 
 
char *strchr(const char *s, int c);:    记录c第一次在s出现的位置,并记录当前指针
char *strrchr(const char *s, int c);:   记录c最后一次出现在s的指针,并记录当前指针位置
-------------------------------------------------------
int main(int argc, char **argv) {

    const char *buf="hello strchr";
char *p1;
char *p2;
p1=strchr(buf,'l'); //记录字符l第一次出现的位置,并范围第一次出现该字符的指针
printf("%s\n",p1); //llo strchr p2=strrchr(buf,'l');//记录字符最后一次出现的位置,并范围第一次出现该字符的指针
printf("%s\n",p2); //lo strchr }
size_t strspn(const char *s, const char *accept);:
size_t strcspn(const char *s, const char *reject);:
-------------------------------------------------------
int main(int argc, char **argv) {

    const char *buf="hello world";
int len; /*在buf中寻找buf2中的任意字符,也就是说,在buf中,如果碰到buf2中的任意字符,就结束寻找,并记录之前不相等部分的字符数*/
/*比如,在buf中有个空格是buf2可以匹配到的,在空格之前有5个字节是不匹配的,所以返回值为5*/
/*统计不同的数,直到出现了buf2中存在的字符*/
len=strcspn(buf,"\t\n,.?! "); //
printf("scpn:%d\n",len); /*统计相同的数,直到出现了buf2里面不存在的字符*/
len=strspn(buf,"abcdefghijklmn"); //hell 都在buf2中出现过,所以开始统计,到 o,buf2中没有,返回到停止之前统计的字符数
printf("spn:%d\n",len); }
 
char *strpbrk(const char *s, const char *accept);:s中只要出现匹配的任意字符,就返回相应的指针位置
-------------------------------------------------------
匹配任意字符出现就返回
          int main(int argc, char **argv) {
const char *buf="hello,kmist"; char *p; p = strpbrk(buf,"abcdefg");
printf("%s\n",p); //ello,kmist
}
char *strstr(const char *haystack, const char *needle);:
-------------------------------------------------------
匹配到全部字符串返回指针
            int main(int argc, char **argv) {

                const char *buf="hello,kmist";

                char *p;

                p = strstr(buf,"kmi");
printf("%s\n",p); //kmist ,如果没有就返回null
}

C语言字符篇(四)字符串查找函数的更多相关文章

  1. C/C++字符串查找函数

    C/C++ string库(string.h)提供了几个字符串查找函数,如下: memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里 ...

  2. C/C++字符串查找函数 <转>

    C/C++ string库(string.h)提供了几个字符串查找函数,如下: memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里 ...

  3. php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpos

    php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpossubstr_count($haystack, $needle [,$o ...

  4. php中常用的字符串查找函数strstr()、strpos()实例解释

    string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 1.$haystack被查找的字 ...

  5. C语言字符篇(二)字符串处理函数

    字符串处理函数 1. 拷贝 strcpy 2. 追加 strcat   #include <string.h>   char *strcpy(char *dest, const char ...

  6. C语言中常用的字符串处理函数总结

    C语言中字符串处理函数备注 此文仅用于自己研究和记录 字符串处理函数 1. char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存 ...

  7. c语言字符数组与字符串的使用详解

    转自:http://www.jb51.net/article/37456.htm 1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ ...

  8. C语言中常用的字符串操作函数

    程序开头要声明 #include <string.h> 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char ...

  9. Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数

    怎么样可以从一串字符中的某个指定位置的前或后截取指定个数的字符. 如:12345.6789,我要截取小数点前(或后)的3个字符.怎么样操作, 另外,怎么样从右边截取字符,就是和left()函数相反的那 ...

  10. C语言字符数组和字符串

    用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ' ', 'p', 'r', 'o' ...

随机推荐

  1. array_map()关于回调函数的总结

    array_map()函数的第一个参数可以是匿名函数,系统函数,也可以是自己自定义的函!在全局空间下,这些函数的调用都很简单 在这里就不多说了!我们主要讨论的是该函数调用类中的方法和静态方法的区别 摘 ...

  2. Miner3D 数据分析软件

    现在,越来越多的专业人士愿意选择Miner3D来帮助他们进行快速高效的智能决策,因为它是一个功能强大.专业性强.海量数据存储能力.三维可视化效果逼真的数据分析解决工具.Miner3D凭借出色的图形质量 ...

  3. Android打包异常

    Android在打包的时候,报错: 找不到类,或者打包之后运行找不到类,都可以在混淆文件中添加这个属性: -dontoptimize 通过测试,都可以解决. 来自为知笔记(Wiz)

  4. Eclipse JSP 页面设置 charset=UTF-8

    windows —> Preferences —> 搜索框中输入:JSP,设置如下:

  5. 【Troubleshooting 】Outlook 客户端无法显示电子邮件图像

    出于安全原因,Outlook 2013/2016不会在电子邮件中显示图像,但您可以右键单击图像并选择" 下载图片 "选项.我最近注意Outlook停止显示图像,并且没有下载图像的选 ...

  6. sap.ui.require in SAP UI5 and require in nodejs

    UI5 例如我需要在controller的onShowHello里通过MessageToast弹一个消息显示在UI上, 我需要先定义我自己的controller,该controller extend自 ...

  7. httpclient使用head添加cookie

    最近在使用接口时候,我使用get请求时,需要携带登录态,所以在get请求的时候我需要在head里面把cookie给加上,添加方式get和post完全不一样 Post方式添加cookie httpPos ...

  8. 类似LCS,构成目标单词(POJ2192)

    题目链接:http://poj.org/problem?id=2192 解题报告: 1.类似最长公共子序列,dp[i][j]表示用s1前i个字符和s2前j个字符来构成目标单词的一部分,是否成功 2.状 ...

  9. UIView设置阴影无效的原因之一

    本想在底部的按钮设置个阴影, 代码如下: self.layer.shadowColor = [UIColor blackColor].CGColor; self.layer.shadowOffset ...

  10. Spring boot 集成三种定时任务方式

    三种定时任务方式分别为 org.springframework.scheduling.annotation.Scheduled java.util.concurrent.ScheduledExecut ...