使⽤函数查字符串⼦串
转载⾃
1. 考虑⽤标准函数库中 strstr() 函数
包含⽂件:string.h
函数名: strstr
函数原型:extern char *strstr(char *str1, char *str2);
功能:从字符串str1中查是否有字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null。返回值:返回该位置的指针,如不到,返回空指针。
2.使⽤string的find函数
#include<iostream>
#include <string>
using namespace std;
void main()字符串函数怎么获取
{
string str1,str2;
cout<<"请输⼊第⼀个字符串"<<endl;
cin>>str1;
cout<<"请输⼊⼦串"<<endl;
cin>>str2;
int weizhi = 0;
int count = 0;
while (1)
{
weizhi = str1.find(str2,weizhi);
weizhi++;
if (0 == weizhi)
{
break;
}
else
{
count++;
cout<<"⼦串出现的位置是:"<<weizhi<<endl;
}
}
cout<<"⼦串出现的次数是:"<<count<<endl;
getchar();
}
//string类的查函数:
int find(char c, int pos = 0) const;//从pos开始查字符c在当前字符串的位置
int find(const char *s, int pos = 0) const;//从pos开始查字符串s在当前串中的位置
int find(const char *s, int pos, int n) const;//从pos开始查字符串s中前n个字符在当前串中的位置
int find(const string &s, int pos = 0) const;//从pos开始查字符串s在当前串中的位置
//查成功时返回所在位置,失败返回string::npos的值
int rfind(char c, int pos = npos) const;//从pos开始从后向前查字符c在当前串中的位置
int rfind(const char *s, int pos = npos) const;
int rfind(const char *s, int pos, int n = npos) const;
int rfind(const string &s,int pos = npos) const;
//从pos开始从后向前查字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值
int find_first_of(char c, int pos = 0) const;//从pos开始查字符c第⼀次出现的位置
int find_first_of(const char *s, int pos = 0) const;
int find_first_of(const char *s, int pos, int n) const;
int find_first_of(const string &s,int pos = 0) const;
//从pos开始查当前串中第⼀个在s的前n个字符组成的数组⾥的字符的位置。查失败返回string::npos
int find_first_not_of(char c, int pos = 0) const;
int find_first_not_of(const char *s, int pos = 0) const;
int find_first_not_of(const char *s, int pos,int n) const;
int find_first_not_of(const string &s,int pos = 0) const;
//从当前串中查第⼀个不在串s中的字符出现的位置,失败返回string::npos
int find_last_of(char c, int pos = npos) const;
int find_last_of(const char *s, int pos = npos) const;
int find_last_of(const char *s, int pos, int n = npos) const;
int find_last_of(const string &s,int pos = npos) const;
int find_last_not_of(char c, int pos = npos) const;
int find_last_not_of(const char *s, int pos = npos) const;
int find_last_not_of(const char *s, int pos, int n) const;
int find_last_not_of(const string &s,int pos = npos) const;
/
/find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。