用到string的find函数
str.find(sub,index)
sub是子串,index是下标,从那里开始找
如果找到了返回下标,没找到返回一个很大的数,转为整形是int

//字符串中子串出现次数
void get_numschar(){
	int index = 0;	//下标 
	int count = 0;	//次数 
	
	string str;
	string sub;
	cout<<"主串:"<<endl;
	getline(cin,str);	//如果字符串中有空格 
	cout<<"子串:"<<endl;
	getline(cin,sub);
	
	
	//b.find(a);这句代码的意思就是从b字符串中查找a字符串
	//返回值的类型为int类型,返回的是字符串的下标
	//如果没找到,返回一个特别的标志c++中用npos表示,string::npos很大的一个数,转成int值是-1
	//
	
	while( (index=str.find(sub,index)) < str.length() ){
		count++;
		index++;
	}
	
	cout<<count<<endl;
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐