
C++中string字符串类型详解及常见方法分析
·
因为C中除了字符数组以外没有直接与字符串相关的变量类型,在处理一些问题的时候不是很方便。所以C++提供新的数据类型——字符串类型(string类型),在使用方法上,它和char、int类型一样,可以用来定义变量,这就是字符串变量——用一个名字代表一个字符序列。
实际上,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象(注意头文件形式 #include<string>)。
string可以构造一个字符串变量,那么它的操作有哪些呢。它包含在string库中(不是string.h没有.h),它可以和定义一个字符一样定义一个字符串变量,而且强大的C++还内置了各种函数,基本实现不用再手写操作函数。而且可以进行字典序的比较和串操作。
一、string字符串变量常用方法
方法总结及部分结果展示如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s="61116";
string s2="71117";
cout<<s+s2<<endl;//连接两个字符串
cout<<(s>s2) <<endl;//比较两个字符串的大小
//上面比较两个字符串的大小结果是 true 或者 false 在这里是 1 或者 0
cout<<s.substr(3,3)<<endl;//substr(n,l) 从第n个位置截取长度为l的字串,若超过最大长度,则截取到最后。
cout<<s.substr(3,5)<<endl;
s.append(2,'b');//s.append(n,c);在s串后面加入n个c字符(append还有其他用法,详情可百度)
s.erase(s.begin(),s.begin()+2);//s.erase(l,r);删除某个区间,l,r都为迭代器
s.erase(it);//删除一个字符,it为迭代器
s.size();//返回字符串s的长度大小
s.begin();//返回首位置的迭代器
s.end();//返回末位置的迭代器
s.insert(it,ch);//在it位置插入ch字符,it为迭代器
s.resize(len,c);//把字符串当前大小置为len,并用c填充不足的部分
s.empty();//判断是否为空串
s.length();//返回字符串的长度
s.max_size();//返回当前系统string对象可存放的最大长度
s.capacity();//返回当前容量
s.at(k);//返回第k+1个字符(该用法会坚持是否越界)
s.c_str();//返回C字符串的指针,内容为s串
s.find(s1);//查找s中是否包含s1,并返回头位置,找不到则返回string::npos
s.replace(k,x,ch);//从k位置开始,把后面的x个元素替换为ch(还有很多其他用法)
s.swap(s2);//交换两个string字符串
return 0;
}
二、string常见要点总结
- string类型可以当作字符数组处理!在一个字符串数组中包含若干个(现为5个)元素,每个元素相当于一个字符串变量。
- 并不要求每个字符串元素具有相同的长度,即使对同一个元素而言,它的长度也是可以变化的,当向某一个元素重新赋值,其长度就可能发生变化。
- 在字符串数组的每一个元素中存放一个字符串,而不是一个字符,这是字符串数组与字符数组的区别。如果用字符数组存放字符串,一个元素只能存放一个字符,用一个一维字符数组存放一个字符串。
- 每一个字符串元素中只包含字符串本身的字符而不包括′\0′。 (如有错误欢迎指正!)
阅读全文
AI总结
更多推荐
相关推荐
查看更多
鸿蒙开发工具大赶集

本仓将收集和展示鸿蒙开发工具,欢迎大家踊跃投稿。通过pr附上您的工具介绍和使用指南,并加上工具对应的链接,通过的工具将会成功上架到我们社区。
OpenManus

No fortress, purely open ground. OpenManus is Coming.
G-Star公益行

G-Star 公益行 是 GitCode G-Star 计划旗下专为公益机构打造的技术赋能计划,依托 GitCode 开源平台、生态流量、云计算与 AI 支持,旨在连接开源技术与公益组织,通过技术赋能帮助公益组织实现数字化转型,以提升运营效率、优化资源配置、拓展公益影响力。
热门开源项目
活动日历
查看更多
直播时间 2025-03-13 18:32:35

全栈自研企业级AI平台:Java核心技术×私有化部署实战
直播时间 2025-03-11 18:35:18

从0到1:Go IoT 开发平台的架构演进与生态蓝图
直播时间 2025-03-05 14:35:37

国产工作流引擎 终结「996」开发困局!
直播时间 2025-02-25 14:38:13

免费开源宝藏 ShopXO,电商系统搭建秘籍大公开!
直播时间 2025-02-18 14:31:04

从数据孤岛到数据智能 - 企业级数据管理利器深度解析
目录
所有评论(0)