首页 > 其他分享 >string容器(下)

string容器(下)

时间:2023-05-12 18:44:14浏览次数:42  
标签:容器 const string int pos 字符串 include

六、string字符串比较

1、功能描述:字符串之间的比较

2、比较方式:字符串比较是按字符的ASCII码进行对比

  =     返回0

  >     返回1

  <     返回-1

3、函数原型:

(1)int compare(const string &s)const;  //与字符串s比较

(2)int compare(const char *s)const;  //与字符串s比较

4、代码

 1 #include <iostream>
 2 using namespace std;
 3 void test01()
 4 {
 5     string s1 = "hello";
 6     string s2 = "aello";
 7     int ret = s1.compare(s2);
 8     if (ret == 0)
 9     {
10         cout << "s1==s2" << endl;
11     }
12     else if (ret > 0)
13     {
14         cout << "s1大于s2" << endl;
15     }
16     else
17     {
18         cout << "s1小于s2" << endl;
19     }
20 }
21 int main()
22 {
23     test01();
24     return 0;
25 }

运行结果:

 七、string字符存取

1、函数原型:

char& operaotr[](int n);  //通过[]方式获取字符

char& at(int n);  //通过at方法获取字符

2、代码

 1 #include <iostream>
 2 using namespace std;
 3 #include <string>
 4 void test01()
 5 {
 6     string str = "hello world";
 7     for (int i = 0; i < str.size(); i++)
 8     {
 9         cout << str[i] << " ";
10     }
11     cout << endl;
12     for (int i = 0; i < str.size(); i++)
13     {
14         cout << str.at(i) << " ";
15     }
16     cout << endl;
17     str[0] = 'x';
18     str.at(1) = 'x';
19     cout << str << endl;
20 }
21 int main()
22 {
23     test01();
24     return 0;
25 }

运行结果:

 八、string插入和删除

1、功能描述:对string字符串进行插入和删除字符操作

2、函数原型:

  • string& insert(int pos, const char* s); //插入字符串
  • string& insert(int pos, const string& str); //插入字符串
  • string& insert(int pos, int n, char c); //在指定位置插入n个字符c
  • string& erase(int pos, int n = npos); //删除从Pos开始的n个字符

3、代码

 1 #include <iostream>
 2 using namespace std;
 3 #include <string>
 4 void test01()
 5 {
 6     string str = "hello";
 7     str.insert(1, "111");   //把pos=1的字符替换成“111”
 8     cout << str << endl;
 9     str.erase(1, 3);
10     cout << str << endl;
11 }
12 int main()
13 {
14     test01();
15     return 0;
16 }

运行结果:

 总结:插入和删除的起始下标都是从0开始

九、string子串

1、功能描述:从字符串中获取想要的字符串

2、函数原型:

  • string substr(int pos = 0, int n = npos) const; //返回由pos开始的n个字符组成的字符串

3、代码

 1 #include <iostream>
 2 using namespace std;
 3 #include <string>
 4 void test01()
 5 {
 6     string str = "abcdefg";
 7     string substr = str.substr(1, 3);   //获取从pos=1开始的三个字符
 8     cout << "substr=" << substr << endl;
 9 
10     string email = "hello@sina.com";
11     int pos = email.find("@");
12     string username = email.substr(0, pos);
13     cout << "username=" << username << endl;
14 }
15 int main()
16 {
17     test01();
18     return 0;
19 }

运行结果:

 

标签:容器,const,string,int,pos,字符串,include
From: https://www.cnblogs.com/lian369/p/17396032.html

相关文章

  • docker 容器中 ip addr 出现 bash: ip: commandnot found
    一、服务器中输入命令#启动tomcat容器别名tomcat1dockerrun-d-P--nametomcat1tomcat#进行tomcat1容器dockerexec-ittomcat1/bin/bash二、输入ipaddripaddrbash:ip:commandnotfound三、解决办法安装工具iproute2#我的服务器是centos的yumi......
  • window docker nginx容器 创建容器,把本地目录可以映射到nginx容器中
    在Windows环境下,您可以按照以下步骤创建一个映射了本地目录的Nginx容器:1.首先,创建一个本地目录,例如`C:\nginx`。2.使用以下命令启动Nginx容器,并将本地目录映射到容器中:```shdockerrun--namemy-nginx-p8080:80-vC:/nginx:/usr/share/nginx/html:ro-dnginx......
  • Delphi 字符串拆分/分割[1] - TStringList
    1、TStringList默认以','拆分字符onstconstr:String='aaa,bbb,ccc,ddd';varstrs:TStrings;i:Integer;beginstrs:=TStringList.Create;strs.CommaText:=constr;fori:=0toStrs.Count-1doShowMessage(Strs[i]);//aaabbbcccd......
  • 客户端容器 | 青训营笔记
    浏览器架构浏览器架构演进单进程架构:所有模块运行在同一个进程里,包含网络、插件、JavaScript运行环境等多进程架构(现代浏览器的常用架构):主进程、网络进程、渲染进程、GPU进程、插件进程面向服务架构:算是多进程架构的升级版。将原来的UI、数据库、文件、设备、网络等,作为一......
  • Why are Python strings immutable? 字符串是否可以改变
    实践1、pythons="abc"s+="34" #OK print(s)s[0]="k" # TypeError:'str'objectdoesnotsupportitemassignment   golang  s:="abc"  s+="456"  fmt.Println(s)  s[0]="......
  • 5-11打卡,交换两个list容器的区间的元素
    10-6编写一个具有以下原型的函数模板:templatevoidexchange(list&11,list::iteratorpl,list&12,list::iteratorp2);该模板用于将l1链表的[p1,l1.end())区间和l2链表的[p2,l2.end())区间的内容交换。在主函数中调用该模板,以测试该模板的正确性。#include<iostream>#incl......
  • string容器(上)
    一、基本概念1、本质:string是c++风格的字符串,而string本质上是一个类2、特点:string类内部封装了很多成员方法例如:查找find,拷贝copy,删除delete,替换replace,插入insertstring管理char*所分配的内存,不用担心复制越界和取值越界,由类内部进行负责二、构造函数1、函数原型:(1)string();......
  • 93.容器库概述
    容器类型上的操作形成了一种层次:●某些操作是所有容器类型都提供的(参见表9.2,第295页)。●另外一些操作仅针对顺序容器(参见表9.3,第299页)、关联容器(参见表11.7,第388页)或无序容器(参见表11.8,第395页)。●还有一些操作只适用于一小部分容器。  一般来说,每个容器都定义在一个头文件......
  • Nginx容器挂载日志卷的日志切割: logrotate
    logrotate是一个日志文件管理工具,用来把旧文件轮转、压缩、删除,并且创建新的日志文件.1).功能:配合crontab控制启动,按配置定义的分割时间和保留分割文件数量来控制日志生成和删除.2).语法:logrotate[参数]<路径/配置文件>-d,--debug调试模式,输出调度结果,并......
  • 92.顺序容器概述
      一个容器就是一些特定类型对象的集合。顺序容器(sequentialcontainer)为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。可以分为有序和无序关联容器。  标准库还提供了三种容器适配器,分别为容器操作定义了不同......