C++ string中的find()函数

您所在的位置:网站首页 find函数返回1跟0 C++ string中的find()函数

C++ string中的find()函数

2023-08-28 13:06| 来源: 网络整理| 查看: 265

1.string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数)

1 #include 2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 ////find函数返回类型 size_type 8 string s("1a2b3c4d5e6f7jkg8h9i1a2b3c4d5e6f7g8ha9i"); 9 string flag; 10 string::size_type position; 11 //find 函数 返回jk 在s 中的下标位置 12 position = s.find("jk"); 13 if (position != s.npos) //如果没找到,返回一个特别的标志c++中用npos表示,我这里npos取值是4294967295, 14 { 15 printf("position is : %d\n" ,position); 16 } 17 else 18 { 19 printf("Not found the flag\n"); 20 } 21 }

2.返回子串出现在母串中的首次出现的位置,和最后一次出现的位置。

1 flag = "c"; 2 position = s.find_first_of(flag); 3 printf("s.find_first_of(flag) is :%d\n",position); 4 position = s.find_last_of(flag); 5 printf("s.find_last_of(flag) is :%d\n",position);

 

3.查找某一给定位置后的子串的位置

1 //从字符串s 下标5开始,查找字符串b ,返回b 在s 中的下标 2 position=s.find("b",5); 3 cout>a; 13 int res = 0; 14 for(int i = 0; i < 5; i++) 15 { 16 if(a.find(s[i]) != a.npos) 17 { 18 res++; 19 if(a.rfind(s[i]) != a.find(s[i]))///一个字符中出现多个一样的名字 20 { 21 res++; 22 } 23 } 24 } 25 if(res == 1) 26 { 27 cout> s[i]; 20 } 21 sort(s, s + n, cmp); 22 int flag = 1; 23 for (int i = 1; i < n; i++) 24 { 25 if (s[i].find(s[i-1]) == string::npos) 26 { 27 flag = 0; 28 break; 29 } 30 } 31 if (flag) 32 { 33 cout >q; 14 cin>>s1>>s2; 15 len=s2.size(); 16 memset(vis,0,sizeof(vis)); 17 string::size_type pos=0; 18 while((pos=s1.find(s2,pos))!=string::npos) 19 { 20 vis[pos+1]=pos+1; 21 pos++; 22 } 23 for(i=1;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3