C++中string的用法
我们知道string可以构造一个字符串变量,那么它的操作有哪些呢。它包含在string库中(不是string.h没有.h),它可以和定义一个字符一样定义一个字符串变量,而且强大的C++还内置了各种函数,基本实现不用再手写操作函数。而且可以进行字典序的比较和串操作。
一、对位和对串操作
如何或者string串中的某一位字符呢,我们使用数组下面的方式就可以访问。
例如
string s = "abcdef"; cout << s[0] << endl;
结果就应该是输出了字符'a',同时string类型也可以直接加上另一个字符串,例如
string a = "abc", b = "bcd"; a = a + b; cout << a << endl;
结果应该输出字符串“abcbcd”。
二、内置函数
在string类型中其实包括了很多函数,例如
1 string s = "a"; 2 s.append(2,'b');//s.append(n,c);在s串后面加入n个c字符(append还有其他用法,详情可百度) 3 s.erase(s.begin(),s.begin()+2);//s.erase(l,r);删除某个区间,l,r都为迭代器 4 s.erase(it);//删除一个字符,it为迭代器 5 s.size();//返回字符串s的长度大小 6 s.begin();//返回首位置的迭代器 7 s.end();//返回末位置的迭代器 8 s.insert(it,ch);//在it位置插入ch字符,it为迭代器 9 s.resize(len,c);//把字符串当前大小置为len,并用c填充不足的部分 10 s.empty();//判断是否为空串 11 s.length();//返回字符串的长度 12 s.max_size();//返回当前系统string对象可存放的最大长度 13 s.capacity();//返回当前容量 14 s.at(k);//返回第k+1个字符(该用法会坚持是否越界) 15 s.c_str();//返回C字符串的指针,内容为s串 16 s.find(s1);//查找s中是否包含s1,并返回头位置,找不到则返回string::npos 17 s.replace(k,x,ch);//从k位置开始,把后面的x个元素替换为ch(还有很多其他用法) 18 s.swap(s2);//交换两个string字符串
而且string还支持直接比较两个字符串的大小(内置字典序比较方式)。除了上面写了的外,string其实还有很多函数。
emmm写到一半发现了个讲的很全的博客,不写了 ==
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ACM讲课之字符串
本次讲课讲全面介绍字符串以及如何使用字符串解决具体问题。 一、什么是字符串 1.如何存储字符串 平时我们使用的变量有很多,int代表整型变量,double代表浮点型变量,char代表字符型变量,那么对于一个字符串例如“Hello World!”应该如何存储并操作呢。 在C语言里,我们可以char数组进行存储,例如: 1 char str1[] = "Hello World!"; 2 char* str2 = "Hello World!"; 3 char str3[20] = "Hello World!"; 对str1、2、3进行输出都为“Hello World!”,这三种方式构造一个字符串的区别有哪些?我们输出他们的空间长度(注意是占用的空间长度而不是字符串长度)。 1 int len1 = sizeof(str1)/sizeof(char); 2 int len2 = sizeof(str2)/sizeof(char); 3 int len3 = sizeof(str3)/sizeof(char); 4 printf("%d\n%d\n%d\n",len1,len2,len3);结果...
- 下一篇
String类型
1.用字符数组存储 2.自带比较功能 3.数组复制 4.转换unicode码数组 5.Arrays.copyOf() 6.复制字符串的任意内容到数组中 7.判断字符串是否相等 先判断字符长度,再逐个比较每个字符是否相等 8.忽略大小写判断两个字符串是否相等
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果