- string构造api
- string str; //生成空的字符串
- string str =str1; //将str1赋值给str
- string str(str1); //以str1拷贝构造str,str与str1值一样
- string str(str1,pos,len); //以str1的从pos开始,len长的部分拷贝构造str
- string str(num,c); //以num个字符c拷贝构造str
- string str(str1,pos); //以str1从pos开始的部分构造str
- string str(char*beg,char*end); //以字符串的beg到end构造str
- string str(cstr); //以c语言字符串构造str
- string str(cstr,len); //以c语言字符串的前len个字符构造str
标红的三个要注意一下。
示例:
#include
using namespace std;
int main(){
char * cstr = "123456";
string str1;
cout<<"str1 ="<
- string 重新设置内存大小api
string str
- str.resize(num); //resize既分配了空间,也创建了对象,可以通过下标访问,既修改capacity大小,也修改size大小。
- str.reserve(num); //reserve是设置了capacity的值,不修改size大小,但此时容器内还没有任何对象,不能通过下标访问。
示例:
#include
using namespace std;
int main(){
string str("12345678");
cout<<"size = "<
- string 查找api
从前往后完全匹配查找
- 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在当前串中的位置
从后往前完全匹配查找
- 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;
从前往后第一个字符匹配查找
- 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;
从后往前第一个字符匹配查找
- 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_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;
从后往前第一个字符不匹配查找
- 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;
示例:
#include
using namespace std;
int main() {
string str1 = "abcdbef";
string str2 = "cd";
char *str3 = "cd";
char *str4 = "abdbef";
char *str5 = "dg";
string str6 = "dg";
char *str7 = "ac";
string str8 = "ac";
char *str9 = "fd";
string str10 = "fd";
cout<<"从前往后完全匹配查找"<
- string 替换api
- void swap(string &str2); //将当前串与str2替换
示例:
#include
using namespace std;
int main() {
string str1 = "abcdbef";
string str2 = "12345";
cout<<"str1 = "<>s1>>s2; //将输入流,输入到s1和s2,空格是分隔符
cout<<"s1 = "<