c++ string 删除第一个字符_等级考试专题七:C++中的String的常用函数用法简介

e612e635040db70b57a63c85a32f7465.png

一. string的大小和容量::

1. size()和length():返回string对象的字符个数,他们执行效果相同。

二. string的字符串比较::

1. C ++字符串支持常见的比较操作符:>、>=、<、<=、==、!=。在使用>,>=,这些操作符的时候是根据“当前字符特性”将字符按字典顺序进行逐一得比较。字典排序靠前的字符小,比较的顺序是从前向后比较,遇到不相等的字符就按这个位置上的两个字符的比较结果确定两个字符串的大小(前面减后面)

“abcd”>”aaaa”   “123”

三. string的插入:push_back() 和 insert()

void test4()

{

    strings;

    //尾插一个字符

   s1.push_back('a');

    s1.push_back('b');

   s1.push_back('c');

    cout<// s1:abc

    //insert(pos,char):在制定的位置pos前插入字符char

   s1.insert(s1.begin(),'1');

    cout<// s1:1abc

}

四、string拼接字符串:append() & + 操作符

void test5()

{

    //方法一:append()

    strings1("abc");

   s1.append("def");

    cout<// s1:abcdef

    //方法二:+ 操作符

    strings2 = "abc";

    /*s2+= "def";*/

    strings3 = "def";

   s2 += s3.c_str();

    cout<// s2:abcdef

}

五、string的遍历:下标法

void test6()

{

    strings="abcdef";

    for(int i = 0; i < s1.size() ; i++ )

   {

       cout<

   }

    cout<

六、string的删除:erase()

1. erase(iterator p);//删除字符串中p所指的字符

2. erase(size_t pos = 0, size_t len =npos);//删除字符串中从索引

位置pos开始的len个字符 

3. void clear();//删除字符串中所有字符

void test6()

{

    strings1 = "123456789";

    //s1.erase(s1.begin()+1);              // 结果:13456789

    //s1.erase(s1.begin()+1,s1.end()-2);   // 结果:189

   s1.erase(1,6);                       // 结果:189

}

七、string的字符替换:

1. string& replace(size_t pos, size_tn, const char *s);//将当前字符串

从pos索引开始的n个字符,替换成字符串s

2. string& replace(size_t pos, size_tn, size_t n1, char c); //将当前字符串从pos索引开始的n个字符,替换成n1个字符c

3. string& replace(iterator i1,iterator i2, const char* s);//将当前字符串[i1,i2)区间中的字符串替换为字符串s

void test7()

{

    strings1("hello,world!");

    cout<// 结果:12

   s1.replace(s1.size()-1,1,1,'.');           // 结果:hello,world.

    //这里的6表示下标  5表示长度

   s1.replace(6,5,"girl");                    // 结果:hello,girl.

    //s1.begin(),s1.begin()+5 是左闭右开区间

   s1.replace(s1.begin(),s1.begin()+5,"boy"); // 结果:boy,girl.

    cout<

}

八、 string的查找:find

1. size_t find (constchar* s, size_t pos =0) const;

  //在当前字符串的pos索引位置开始,查找子串s,返回找到的位置索引,

   -1表示查找不到子串

2. size_t find (charc, size_t pos = 0) const;

  //在当前字符串的pos索引位置开始,查找字符c,返回找到的位置索引,

   -1表示查找不到字符

void test8()

{

    strings("dog bird chicken bird cat");

    //字符串查找-----找到后返回首字母在字符串中的下标

    //1. 查找一个字符串

    cout<< s.find("chicken") << endl;        // 结果是:9

    //2. 从下标为6开始找字符'i',返回找到的第一个i的下标

    cout<< s.find('i',6) << endl;           // 结果是:11

九、 string的排序:sort(s.begin(),s.end())

void test9()

{

    strings = "cdefba";

    sort(s.begin(),s.end());

    cout<// 结果:abcdef

}

十、 string的分割/截取字符串:substr()

void test11()

{

    strings1("0123456789");

    strings2 = s1.substr(2,5); // 结果:23456-----参数5表示:截取的字符串的长度

    cout<

}

等级考试专题六:二维数组(1)

等级考试专题五:CSP-J 2020复赛第二题题解(桶排序的应用)

等级考试专题四:CSP-J 2020第一题题解(进制转换的应用)

等级考试2级(C/C++)专题三:一维数组应用实例

中国电子学会青少年软件编程等级考试2级(C/C++)专题二:一维数组

中国电子学会青少年软件编程等级考试2级(C/C++)专题一:数制和进制转换

相关编程技术和学习等方面的问题请联系下方老师咨询

345f344fa2dbc1eca77fa48711bb33bf.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值