菜鸟笔记
提升您的技术认知

c 中string 最全api详解-ag真人游戏

  • string构造api
  1. string str;                                    //生成空的字符串
  2. string str =str1;                         //将str1赋值给str
  3. string str(str1);                            //以str1拷贝构造str,str与str1值一样
  4. string str(str1,pos,len);                //以str1的从pos开始,len长的部分拷贝构造str
  5. string str(num,c);                         //以num个字符c拷贝构造str
  6. string str(str1,pos);                      //以str1从pos开始的部分构造str
  7. string str(char*beg,char*end);     //以字符串的beg到end构造str
  8. string str(cstr);                             //以c语言字符串构造str
  9. string str(cstr,len);                        //以c语言字符串的前len个字符构造str

标红的三个要注意一下。

示例:

#include
using namespace std;
int main(){
    char * cstr = "123456";
    string str1;
    cout<<"str1 ="<
  • string 重新设置内存大小api

string str

  1. str.resize(num);                          //resize既分配了空间,也创建了对象,可以通过下标访问,既修改capacity大小,也修改size大小。
  2. str.reserve(num);                       //reserve是设置了capacity的值,不修改size大小,但此时容器内还没有任何对象,不能通过下标访问。

示例:

#include
using namespace std;
int main(){
    string str("12345678");
    cout<<"size = "<
  • string 查找api

  从前往后完全匹配查找

  1. int find(char c, int pos = 0) const;                           //从pos开始查找字符c在当前字符串的位置
  2. int find(const char *s, int pos = 0) const;                //从pos开始查找字符串s在当前串中的位置
  3. int find(const char *s, int pos, int n) const;             //从当前字符串pos开始查找字符串s中前n个字符在当前串中的位置
  4. int find(const string &s, int pos = 0) const;             //从pos开始查找字符串s在当前串中的位置

从后往前完全匹配查找

  1. int rfind(char c, int pos = npos) const;                    //从pos开始从后向前查找字符c在当前串中的位置
  2. int rfind(const char *s, int pos = npos) const;
  3. int rfind(const char *s, int pos, int n = npos) const;
  4. int rfind(const string &s,int pos = npos) const;

从前往后第一个字符匹配查找

  1. int find_first_of(char c, int pos = 0) const;               //从pos开始查找字符c第一次出现的位置
  2. int find_first_of(const char *s, int pos = 0) const;
  3. int find_first_of(const char *s, int pos, int n) const;
  4. int find_first_of(const string &s,int pos = 0) const;

从后往前第一个字符匹配查找

  1. int find_last_of(char c, int pos = npos) const;
  2. int find_last_of(const char *s, int pos = npos) const;
  3. int find_last_of(const char *s, int pos, int n = npos) const;
  4. int find_last_of(const string &s,int pos = npos) const;

从前往后第一个字符不匹配查找

  1. int find_first_not_of(char c, int pos = 0) const;
  2. int find_first_not_of(const char *s, int pos = 0) const;
  3. int find_first_not_of(const char *s, int pos,int n) const;
  4. int find_first_not_of(const string &s,int pos = 0) const;

从后往前第一个字符不匹配查找

  1. int find_last_not_of(char c, int pos = npos) const;
  2. int find_last_not_of(const char *s, int pos = npos) const;
  3. int find_last_not_of(const char *s, int pos, int n) const;
  4. 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
  1.  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 = "<
网站地图