(string&C++)(三、查找)find的使用

string中find的使用(c++)

1.返回str在字符串中第一次出现的位置(从index开始查找,如果没找到则返回string::npos)
函数原型:size_type find( const basic_string &str, size_type index );
     size_type find( const char *str, size_type index );

例:

(1)默认从0开始,找不到则返回string::npos
	string str = "01234567456";
	string str1 = "456";
	if(str.find(str1) != string::npos){
		cout << "字符串" << str1 << "在" << str <<"中的第一个起始位置在" << str.find(str1)  << endl;
	}
结果:
在这里插入图片描述
(2)rfind从末尾开始,找不到则返回string::npos
	string str = "01234567456";
	string str1 = "456";
	if(str.rfind(str1) != string::npos){
		cout << "字符串" << str1 << "在" << str <<"中最后一个起始位置在" << str.rfind(str1)  << endl;
	}
结果:
在这里插入图片描述
(3)从加上的索引index开始查找
	string str = "01234567456";
	string str1 = "456";
	if(str.find(str1,5) != string::npos){
		cout << "字符串" << str1 << "在" << str <<"中从5开始的第一个起始位置在" << str.find(str1,5)  << endl;
	}
结果:
在这里插入图片描述
2.返回字符ch在字符串中第一次出现的位置(从index开始查找,如果没找到就返回string::npos)
函数原型:size_type find( char ch, size_type index );

例:

(1)默认从0开始

	string str = "0123456789";
	char c = '3';
	if(str.find(c) != string::npos){
		cout << "字符" << c << "在" << str <<"中第一个起始位置在" << str.find(c)  << endl;
	}
结果:
在这里插入图片描述

(2)加索引index之后

	string str = "0123453789";
	char c = '3';
	if(str.find(c,4) != string::npos){
		cout << "字符" << c << "在" << str <<"中第一个起始位置在" << str.find(c,4)  << endl;
	}
结果:
在这里插入图片描述
发布了42 篇原创文章 · 获赞 40 · 访问量 979

猜你喜欢

转载自blog.csdn.net/weixin_44635198/article/details/104461999