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
原文:https://www.cnblogs.com/xiongxinxzy/p/13614514.html