码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 34.【C/C++ string大汇总,不看定后悔】


    string函数全章

    • (一)、什么是string函数?
    • (二)、string函数的用法:
      • 1.string的赋值
          • 代码展示:
          • 效果展示:
      • 2.char转换为sring
          • 代码展示:
          • 效果展示:
      • 3.string转换为char
          • 代码展示:
          • 效果展示:
      • 4.取string的字符(assign)
          • 代码展示:
          • 效果展示:
      • 5.判断字符串是否为空(empty)
          • 代码展示:
          • 效果展示:
      • 6.对字符串进行清空(clear)
          • 代码展示:
          • 效果展示:
      • 7.取字符串的个别字符(at)
          • 代码展示:
          • 效果展示:
    • (三)、所有函数汇总:
      • 1.提取函数 substr(始,末)
      • 2.查找函数 find(字符串/字符,始)
      • 3.替换函数 replac(始,末,字符串)
      • 4.插入函数 insert(始,字符串)
      • 5.插入函数 insert(始,末,字符)
      • 6.删除函数 erase(始,末)
      • =============================
        • 代码展示:
        • 效果展示:

    (一)、什么是string函数?

    在这里插入图片描述

    string是C++、java、VB等编程语言中的字符串,字符串是一个特殊的对象,属于引用类型。 在java、C#中,String类对象创建后, 字符串一旦初始化就不能更改,因为string类中所有字符串都是常量,数据是无法更改,由于string对象的不可变,所以可以共享。对String类的任何改变,都是返回一个新的String类对象。 C++标准库中string类以类型的形式对字符串进行封装,且包含了字符序列的处理操作。

    (二)、string函数的用法:

    在这里插入图片描述

    1.string的赋值

    代码展示:
    #include 
    using namespace std;
    #include 
    int main()
    {
     string s1 = "abc"; //双引号
     string s2("def"); // 双引号
     string s3(3, 'c'); //左边是字符的数量,右边是字符 单引号
     cout << "s1:" << s1 << endl;
     cout << "s2:" << s2 << endl;
     cout << "s3:" << s3 << endl;
     return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    效果展示:

    在这里插入图片描述

    2.char转换为sring

    代码展示:
    #include 
    using namespace std;
    #include 
    int main()
    {
     char sz[] = "abcd";
     string s1 = "nihaoa";
     string s4(sz); // 对char字符串进行复制
     string s2(s1); // 对string 复制
     cout << s4 << endl;
     cout << s2 << endl;
     return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    效果展示:

    在这里插入图片描述

    3.string转换为char

    代码展示:
    #include 
    using namespace std;
    #include 
    int main()
    {
     string s = "abcd";
     const char* p = s.c_str(); //c_str();
     cout << "string字符串转换为char字符串:" <<p<< endl;
     return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    效果展示:

    在这里插入图片描述

    4.取string的字符(assign)

                 assign(数组,几位开始,取几个函数)
    
    • 1
    代码展示:
    #include 
    using namespace std;
    #include 
    int main()
    {
     string s1;
     s1.assign("aaaaaaaaaa"); // 输出这些字符串
     cout << s1 << endl;
     const char* p = "abcd";
     string s2;
     s2.assign(p); // 不输入,就是字符串的全部
     cout << s2 << endl;
     string s3;
     s3.assign(p, 3); // 字符串的前三个
     cout << s3 << endl;
     string s6;
     s6.assign(p, 0, 3); // 打印字符串从第1个元素开始,打印三个.
     cout << s6 << endl;
     return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    效果展示:

    在这里插入图片描述

    5.判断字符串是否为空(empty)

    代码展示:
    #include 
    using namespace std;
    #include 
    int main()
    {
     string s = "abcd";
     if (s.empty())
     {
      cout << "该字符串为空" << endl;
     }
     else
     {
      cout << "该字符串不为空" << endl;
     }
     return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    效果展示:

    在这里插入图片描述

    6.对字符串进行清空(clear)

    代码展示:
    #include 
    using namespace std;
    #include 
    int main()
    {
     string s = "abcd";
     s.clear(); // 对字符串进行清空处理
     if (s.empty())
     {
      cout << "该字符串为空" << endl;
     }
     else
     {
      cout << "该字符串不为空" << endl;
     }
     return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    效果展示:

    在这里插入图片描述

    7.取字符串的个别字符(at)

    代码展示:
     #include 
    using namespace std;
    #include 
    int main()
    {
     string s1 = "hello";
     s1.at(0); // at()函数
     cout << "字符串s1的地1个是多少:" << s1.at(0) << endl;
     return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    效果展示:

    在这里插入图片描述

    (三)、所有函数汇总:

    在这里插入图片描述

    1.提取函数 substr(始,末)

    从第几个元素开始,往后数几个元素。

    2.查找函数 find(字符串/字符,始)

    查找哪个元素或字符串,从第几个开始。

    3.替换函数 replac(始,末,字符串)

    从第几个开始,往后数几个,换成谁。

    4.插入函数 insert(始,字符串)

    从第几个开始,插入谁。

    5.插入函数 insert(始,末,字符)

    从第几个开始,插入几个,插入谁。

    6.删除函数 erase(始,末)

    从第几个开始,删除几个。

    =============================

    代码展示:

    #include 
    #include 
    using namespace std;
    int main()
    {
     string s1,s2,s4,s5,s6,s7,s8;
     int s3;
     s1 = "hello cctv.com byebye";
     cout << "原数组为:" << s1 << endl;
     s2=s1.substr(6, 8); // 从第几个开始,进行提取几个,
     cout <<"通过数数得:"<< s2 << endl;
     s3 = s1.find("cctv.com",0); // 找谁, 从第几个元素找
     s4 = s1.substr(s3, 8);
     cout <<"通过找到得:"<< s4 << endl;
     s5 = s1.replace(0, 5, "李威涛"); //从第几个开始,前几个字符换成后面的 
     cout << "通过replace进行添加:" << s5 << endl;
     s6 = s1.insert(0, "勇敢的"); //第几个开始 ,插入谁
     cout << "通过插入进行添加:" << s6 << endl;
     s7 = s1.insert(0, 3, 'v'); // 第几个开始,插入几个,插入谁
     cout << "插入字符为:" << s7 << endl;
     s1 = s1 + " 888";
     cout << s1 << endl;
     s8 = s1.erase(0, 5); //第几个开始, 删除几个
      cout << "删除:" << s8 << endl;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    效果展示:

    在这里插入图片描述
    在这里插入图片描述
    制作不易!!!! 还请支持…

  • 相关阅读:
    `数学` 微积分基本定理
    华为设备小型园区网方案(有线+无线+防火墙)
    第十章 Linux权限升级
    java计算机毕业设计学生信息管理系统源程序+mysql+系统+lw文档+远程调试
    “华数杯”建模学习思考(Matlab&Python代码实现)
    2022“杭电杯”中国大学生算法设计超级联赛(3)签到题4题
    你被离职员工投诉过吗?
    第八章 排序 十二、败者树
    什么是电商云仓?
    怎么把jfif格式改成jpg?
  • 原文地址:https://blog.csdn.net/qq_69683957/article/details/126357897
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号