您的位置:首页 > 编程语言 > C语言/C++

c++之string.find(string)

2016-06-11 14:32 316 查看
先来看一个例子吧:

#include "iostream"
#include "string"
using namespace std;
// 定义函数求str2在是str1中出现的次数
int occurrer_number(string str1,string str2)
{
        int pos;                 // 记下要查找的字符(串)在字符串中的位置
      int k=0;                 // 该字符(串)出现的次数
     int pos1=-1;
     // 输入字符串
     cout<<"请输入一串字符:"<<endl;
     cin>>str1;      // 输入要查找的字符串
     cout<<"请输入要查找的字符(串):"<<endl;
     cin>>str2;
        // 先找到第一个位置
     pos=str1.find(str2);
     if(pos!=-1)
  {
         k++;   
  }
     // 开始数,str1在str中出现的次数;
    for(;;)    
    {         
    pos=str1.find(str2,pos+str2.length());      // 查找之后还有没有str1,如果没有会将-1赋给pos
      if(pos==pos1)
         {                 break;       // 直到pos变成-1时跳出          }
         else         {                 k++;         // 若不是-1,则出现的次数+1         }
       }
    return k;    // 返回次数
}
void main()
{  
string str1,str2;       // 定义两个字符串变量  int show_num;           // 出现的次数
 // 调用求解次数的函数int occurrer_number(string str1,string str2)  show_num=occurrer_number(str1,str2);
 cout<<"共出现"<<show_num<<"次该字符(串)"<<endl;
}

find函数的运用时,如果找到就返回位置,找不到返回的是-1
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: