标签:nbsp iostream 指定位置 停止 span 下标 color int 返回值
1.find()
返回值为目标元素的下标,若不存在目标元素则返回-1
#include<iostream> using namespace std; int main() { string str1 = "A BC", str2 = "abc"; char c = ‘5‘; int i; i= str1.find(str2); //从头开始在str1中查找子串str2 //i = str1.find(str2,2);//从第三个(0开头)开始在str1中查找子串str2 cout << i << endl; return 0; }
2.find_first_of()
这个用法和①中str1.find(str2)相似,都是返回str2中首个字符在str1中的地址。
但是要特别注意,没有找到时返回值是-1.
#include<iostream> using namespace std; int main() { string s1 = "012345678", s2 = "978"; char c = ‘5‘; //int ans = s1.find_first_of(s2); //在s1中查找s2的字串,找到第一个相同的字母就停止,不是全匹配,find()是全匹配,若第一个没有则找下一个,若全没有输出为-1 //int ans = s1.find_first_of(s2,2) ;//从指定位置开始查找s1中的字串s2 cout << ans << endl; return 0; }
3. find_last_of()
函数原型:int find_last_of(char c);
未找到时返回-1。
#include<iostream> using namespace std; int main() { string s1 = "012345678", s2 = "458"; char c = ‘5‘; int ans = s1.find_last_of(s2);//从s1最后开始查找子串s2的倒序(854),找到一个相等的字符就停止,并非全匹配,也可从指定位置开始往后查找 cout << ans << endl; return 0; }
4.ind_not_first_of()
函数原型:size_type find_first_not_of( char ch, size_type index = 0 );
在字符串中查找第一个与str中的字符都不匹配的字符,返回它的位置。搜索从index开始。如果没找到就返回-1
#include<iostream> using namespace std; int main() { string s1 = "012345678", s2 = "678"; char c = ‘5‘; int ans = s1.rfind(s2); //从s1的反方向中查找s2的子串,是全匹配,返回与s2第一个字符相匹配的地址,若没有其子串则返回-1 cout << ans << endl; return 0; }
find_not_last_of()
函数原型:size_type find_last_not_of( char ch, size_type index = 0 );
在字符串中查找最后一个与str中的字符都不匹配的字符,返回它的位置。如果没找到就返回-1
#include<iostream> using namespace std; int main() { string s1 = "012345678", s2 = "018"; char c = ‘5‘; int ans = s1.find_first_not_of(s2,3);//从s1的正方向开始查找第一个不与子串像匹配的位置,也可以从指定位置开始查找 cout << ans << endl; return 0; }
标签:nbsp iostream 指定位置 停止 span 下标 color int 返回值
原文地址:https://www.cnblogs.com/asunataisiki/p/14136432.html