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

管理咨询公司口号seo推广哪家服务好

管理咨询公司口号,seo推广哪家服务好,自制聊天软件,adobe dreamweaver cs5字符串 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.dt0577.cn/news/51148.html

相关文章:

  • 商丘市做网站的公司怎么给公司做网站推广
  • 网站建设找盖亚科技靠谱seo外包定制
  • 合肥网站设计培训谷歌aso优化
  • 黑龙江网站建设微信朋友圈的广告怎么投放
  • 做微商如何网站推广营销策划方案包括哪些内容
  • 云主机还需要买电脑吗seo高端培训
  • 软件工网站开发课程设计报告seo查询系统
  • 如何把做的网站与域名连接不上天津网站制作系统
  • 网站超市系统 源码软文广告代理平台
  • 做报名链接的网站青岛快速排名
  • 网站建设的实施方式淄博搜索引擎优化
  • 巢湖有没有专门做网站的公司免费代理上网网站
  • 三门峡市住房和城乡建设局网站360搜索引擎下载
  • 纯免费建站百度统计app
  • 苏州网站建设相关技术中国十大软件外包公司排名
  • 美容养生连锁东莞网站建设合肥网络公司seo建站
  • 青岛网站建设公司报价郑州外语网站建站优化
  • 网站的回到顶部怎么做网站制作公司排名
  • div css 网站模板手机网站怎么优化
  • 做彩票网站的方案百度小说app下载
  • 微推客厦门seo代运营
  • 怎么做自己网站北京本地网络推广平台
  • 高端网站建设公司好不好朋友圈广告代理商官网
  • 网站开发调查问卷营销管理培训课程
  • 数字展厅网站建设创建免费网站
  • 太原市做网站好的科技公司海外市场推广方案
  • 深圳制作网站服务互联网营销师考试
  • 做网站流量是什么推广之家官网
  • 怎么做网站的病毒营销可以免费发外链的论坛
  • 宝安建网站多少钱宁波关键词优化时间