当前位置: 首页 > news >正文

做网站移交资料网站建设人力资源分配

做网站移交资料,网站建设人力资源分配,住房和城乡建设部网站公告,民政局网站建设方案字符串 by.Qin3Yu 文中所有代码默认已使用std命名空间且已导入部分头文件&#xff1a; #include <iostream> #include <string> using namespace std;概念速览 字符串是一种非常好理解的数据类型&#xff0c;它用于存储和操作文本数据。字符串可以包含任意字符…

字符串

by.Qin3Yu

文中所有代码默认已使用std命名空间且已导入部分头文件:

#include <iostream>
#include <string>
using namespace std;

概念速览

  • 字符串是一种非常好理解的数据类型,它用于存储和操作文本数据。字符串可以包含任意字符,包括字母、数字、特殊符号和空格等等。如下,是每个编程初学者几乎都会使用到的字符串:
cout << "Hello World";
  • 字符串(string)字符数组(char[]) 都可以存储多个字符,但是他们之间的却有着很大的区别,简单来说,字符串相比于字符数组有着以下优缺点:

优点:
1.方便操作: 字符串提供了许多方便的操作方法,如拼接、截取、查找、替换等。
2.动态内存: 字符串的长度是动态管理的,无需手动跟踪和更新。
3.可常量化: 字符串常量可以直接在代码中使用,而不需要手动创建和初始化字符数组。

缺点:
1.不可修改: 大多数编程语言中的字符串是不可修改的,即无法直接更改字符串中的单个字符。

  • 总之,字符串与字符数组相比具有更多的功能和便利性,但在对性能要求较高的情况下,字符数组可能是更好的选择。选择使用哪种类型取决于具体的应用场景和要求。

字符串操作

声明(string)与输入(cin)输出(cout)

  • 在导入了 <string> 头文件后,我们可以直接使用 string 关键字来声明一个字符串,然后使用C++的 标准输入输出流 来进行输入和输出。需要注意的是,字符串需要 用双引号进行包裹
string st;  // 声明一个字符串
cin >> st;  // 输入字符串
cout >> st  // 打印字符串
string st2 = "Genshin";  // 声明并初始化一个 "Genshin" 字符串
  • 需要注意:在上面的st2字符串中初始化字符串时,字符串末尾实际还会存在一个null终止符,当某些遍历方法遍历到此终止符时就知道此字符串被遍历完了,如下图所示:
    在这里插入图片描述

获取长度(length)与截取(substr)

  • 在字符串中,可以使用std::string类中的 length() 成员方法获取字符串的长度,或是使用 substr() 截取字符串。
  • 其中,substr() 有两种常用形式,它可以接受两个参数 (m,n) ,表示截取下标m~n的子字符串,或者接受一个参数 m ,表示截取从下标为m开始的后面所有字符串,如下面的代码所示:
    在这里插入图片描述
string st = "Genshin";
int len = st.length();  // len = 7
string s1 = st.substr(2,4);  // s1 = nsh
string s2 = st.substr(3);  // s2 = shin

查找(find)

  • 在字符串操作中,有两种常用方法查找字符串中的指定子串,分别是 find()rfind() ,它们两者的区别在于 find() 会返回子字符串第一次出现在字符串中的位置,而 rfind() 会返回子字符串最后一次出现在字符串中的位置。如下图所示,它们都会返回 子串的第一个字符在字符串中的索引
    在这里插入图片描述
string st = "Genshins";
int a = st.find("ns");  // a = 2
int b = st.rfind("ns");  // a = 6
  • 假如字符串中没有匹配的子串,那么 ®find 函数将会返回一个 string::npos 值,这个值解释起来稍显复杂,但是在实际应用中,读者可以直接用 if 语句如下检测 ®find 函数是否返回了 string::npos
if (pos == string::npos) { }

替换(replace)

  • 在字符串中,我们还可以使用 replace() 方法来修改指定片段的字符串。replace() 方法会接受三个参数,分别是 开始位置的索引、结束位置的索引和需要替换成的字符串 ,如下图所示,使用 replace() 替换字符串后,字符串会 自动调节大小
    在这里插入图片描述
string st = "Genshin";
st.replace(2,4,"mihoyo");  // st = "Gemihoyoin" , st.length() = 9
st.replace(2,4,"6");  // st = "Ge6in" , st.length() = 5

插入(insert)与删除(erase)

  • 关于字符串的修改,C++ 还有两种基本的方法,分别是 insert()erase()insert() 方法接受两个参数,分别是要 插入位置的下标和要插入的子串 ,插入后,子串的首字符会在第一个参数处,如下图所示:
    在这里插入图片描述
string st = "Genshin";
st.insert(3,"666");  // st = "Gen666shin"
  • 同样,erase() 方法也会接受两个参数,分别是要删除片段的 起始和结束位置的下标 ,如下图所示:
    在这里插入图片描述
string st = "Genshin";
st.erase(1,5);  // st = "Gn"

拼接(+ & append)

  • 最后,有两种方式可以将两个字符串拼接在一起,分别是直接使用 +号 和使用 append()方法 ,二者在使用上也有部分不同。
  • 将两个字符串直接使用 +号 连接,并传递给第三个字符串,原先的两个字符串没有做出任何修改:
string s1 = "Gen";
string s2 = "shin";
string s3 = s1 + s2;  // s3 = "Genshin"
  • 如下使用 append() 方法,append() 接受一个参数,即需要拼接的字符串,方法将会直接将子串拼接在字符串 st 后面,不需要第三个字符串:
string s1 = "Gen";
string s2 = "shin";
s1.append(s2);  // s1 = "Genshin"

string与char[]的相互转换

  • 在实际应用中,如果我们需要对字符串进行大量的修改,那么将 字符串(string) 转换为 字符数组(char[]) 再进行修改会是更好的选择。可以如下使用 data()方法 配合 copy()方法 将字符串转换为一个可修改的字符数组。特别注意,为了保证转换时的数据正确性,字符串与字符数组相互转换时,字符数组必须以终止符 ‘\0’ 结尾,因此,字符数组的长度要比字符串长1个字符
string st = "Genshin";
char s[st.length() + 1];  // 声明一个字符数组,长度为字符串长度+1
copy(st.data(), st.data() + st.length() + 1, s);  // 复制字符串到字符数组中
  • 再进行相关操作后,我们需要把字符数组再转换为字符串,我们可以直接使用 string 的构造函数 string(CharArray) 直接传入一个字符数组进行初始化,如下所示:
char s[] = {'G','e','n','s','h','i','n','\0'};
string st(s);  // st = "Genshin"

至此,字符串的相关内容已讲解完毕(=
如需提问,可以在评论区留言或私信(=
感谢您的阅读(=

by.Qin3Yu

http://www.yayakq.cn/news/628317/

相关文章:

  • 高端网站建设 飞沐做数据可视化图的网站
  • 网站建设基础知识及专业术语手机新手学做网站
  • 网站 建设设计方案北京网站改版有哪些好处
  • 网站名称在哪里注册什么是搜索引擎营销?
  • 网站主页设计优点wordpress4.6字体
  • 那个外贸网站做的最好网站建设淘宝客模板下载
  • 云主机添加网站做网站还是app省钱
  • 照片变年轻在线制作网站施工企业信用评价
  • 建个人网站怎么赚钱吗wordpress分类的id
  • 郑州网站建设专业公司腾讯学生机wordpress
  • 北京网站开发飞沐管理系统主页
  • 雅思培训网站做优化每天一定要更新
  • 上海建设局官方网站河北省城乡和建设厅网站首页
  • 营销型网站更受用户欢迎的原因是移动应用开发就业方向和前景
  • 博山做网站公司四川seo技术培训
  • 网站建设完成后期维护网站建设 美词
  • 设计的比较好的网站百度关键词seo年度费用
  • 针对人群不同,网站做细分制作网站注册页面
  • ae模板免费下载网站软件企业网站模板
  • 泰兴做网站公司益阳购物网站开发设计
  • 许嵩做的网站贵州住房和城乡建设厅旧网站
  • 网站建设公司山西找做金融的网站有哪些方面
  • 网站地址栏图标制作温州百度搜索优化
  • 双云官方网站中国黄金集团建设有限公司网站
  • 企业网站收费学校网站建设招聘
  • 盐城哪家做网站的正规建设网站需要展示什么
  • 建设设计网站公司邢台装修网站建设
  • 景点网站设计与制作网页搜索屏蔽广告
  • 西安做网站哪家便宜哪个网站的排行榜权威
  • 深圳高端做网站wordpress资源付费