首页 > 其他 > 详细

strrchr()函数 和 string::npos

时间:2020-09-04 16:58:32      阅读:48      评论:0      收藏:0      [点我收藏+]

strrchr() 函数

strrchr()函数:
strrchr()函数的作用是:
    查找一个字符串在另一个字符串中 末次 出现的位置,并返回从字符串中的这个位置起,一直到字符串结束的所有字符;
    如果未能找到指定字符,那么函数将返回False。

实验代码:

 1 #include <iostream>                                                                                                                                           
 2 #include <string.h>
 3 #include <stdio.h> 
 4 #include <stdint.h>
 5 using namespace std;
 6                       
 7 int main()            
 8 {                     
 9     char str[] = "ddddefg";
10     char *p = strrchr(str, d);
11     printf("%s\n", p);
12     return 0;         
13 }    

运行结果:

?  t6 ./test1
defg


分析:

以上找到了d所在的位置,应该是d最后一次出现的位置的指针。

 

string::npos

npos可以表示string的结束位置,是string::type_size 类型的,也就是find()返回的类型。find函数在找不到指定值得情况下会返回string::npos。举例如下计算字符串中含有的不同字符的个数)

#include <iostream>                        
#include <string.h>                        
#include <stdio.h>                         
#include <stdint.h>                        
using namespace std;                       
                                           
int main()                                 
{                                          
    string b = "abcdefghigklmn";           
    auto i1 = b.find("c");                 
    auto i2 = b.find("hi");                
    cout<<"i1: "<<i1<<"  i2    "<<i2<<endl;                                     
    return 0;                              
}         

运行结果:

?  t6 ./test1
i1: 2  i2    7


在字符串abcdefghigklmn的2号位置发现了c,在7号位置发现了hi

 

strrchr()函数 和 string::npos

原文:https://www.cnblogs.com/xiongxinxzy/p/13614514.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!