C++之string

C++之string

在这里插入图片描述
在这里插入图片描述

#include <iostream>using namespace std;/*string();//创建一个空的字符串string(const char* s);//使用字符串s初始化string(const string& str);//使用一个string对象初始化另外一个string对象string(int n,char c);//使用n个字符c初始化*/void test1()
{string s1;//默认构造const char *str = "hello woreld!";string s2(str);cout << "s2 = "<<s2<<endl;string s3(s2);cout << "s3 = "<<s3<<endl;string s4(5,'b');cout << "s4 = "<<s4<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;/*
string& operator=(const char* s);//char*类型字符串 赋值给当前的字符串
string& operator=(const string &s);//把字符串s赋给当前的字符串
string& operator=(char c);//字符赋值给当前的字符串
string& assign(const char *s);//把字符串s赋给当前的字符串
string& assign(const char *s, int n);//把字符串s的前n个字符赋给当前的字符串
string& assign(const string &s);//把字符串s给当前字符串
string& assign(int n, char c);//用n个字符c赋给当前字符串*/void test1()
{string s1 = "hello woreld!";cout << "s1 = "<<s1<<endl;string s2(s1);cout << "s2 = "<<s2<<endl;string s3 ;s3 = 'b';cout << "s3 = "<<s3<<endl;string s4;s4.assign("hello woreld!");cout << "s4 = "<<s4<<endl;string s5;s5.assign("hello woreld!",5);cout << "s5 = "<<s5<<endl;string s6;s6.assign(s5);cout << "s6 = "<<s6<<endl;string s7;s7.assign(5,'b');cout << "s7 = "<<s7<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;/*
string& operator+=(const char* str);//重载+=操作符
string& operator+=(const char c);//重载+=操作符
string& operator+=(const string& str);//重载+=操作符
string& append(const char *s);//把字符串s连接到当前字符串结尾
string& append(const char *s, int n);//把字符串s的前n个字符连接到当前字符串结尾
string& append(const string &s);//同operator+=(const string& str)
string& append(const string &s,int pos,int n); //字符s中从pos开始的n个字符连接到字符串结尾*/void test1()
{string s1 = "I";cout << "s1 = "<<s1<<endl;s1 += " LOVE GAME";cout << "s1 = "<<s1<<endl;string s2 = ":";s1 += s2;cout << "s1 = "<<s1<<endl;// s1.append(" LOL DNF");// s1.append(" LOL DNF",4);string s3 = " LOL DNF";//s1.append(s3);s1.append(s3,0,4);cout << "s1 = "<<s1<<endl;}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//查找
void test1()
{string str1 = "abcdefgde";int pos = str1.find("de");if(pos == -1){cout<<"no find"<<endl;}else{cout<<"finded , pos = "<<pos<<endl;}//find和rfind的区别//find:从左往右查找;rfind:从右往左查找int pos2 = str1.rfind("de");if(pos2 == -1){cout<<"no find"<<endl;}else{cout<<"finded , pos = "<<pos2<<endl;}
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

void test2()
{string str1 = "abcdefgde";//将bc替换成2222str1.replace(1,3,"2222");cout<<str1<<endl;
}
int main()
{test2();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//查找
void test1()
{string str1 = "hello";string str2 = "xello";if(str1.compare(str2) == 0){cout<<"str1 = str2"<<endl;}else if(str1.compare(str2) > 0){cout<<"str1 > str2"<<endl;}else{cout<<"str1 < str2"<<endl;}
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//string字符存取
void test1()
{string str1 = "hello";//cout<<"str1 = "<<str1<<endl;//通过[]访问单个字符for(unsigned int i = 0;i < str1.size();i++){cout<<str1[i]<<" ";}cout<<endl;//通过at方式访问单个字符for(unsigned int i = 0;i<str1.size();i++){cout<<str1.at(i)<<" ";}cout<<endl;//通过[]修改单个字符str1[0] = 'x';cout<<"str1 = "<<str1<<endl;//通过at方式修改单个字符str1.at(1) = 'x';cout<<"str1 = "<<str1<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//string字符插入和删除
void test1()
{string str1 = "hello";cout<<"str1 = "<<str1<<endl;//插入str1.insert(1,"222");cout<<"str1 = "<<str1<<endl;//删除str1.erase(1,3);cout<<"str1 = "<<str1<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include<string>
using namespace std;//string字符中求子串
void test1()
{string str1 = "hello";cout<<"str1 = "<<str1<<endl;string subStr = str1.substr(2,2);cout<<"subStr = "<<subStr<<endl;
}//使用的例子  获取邮箱的用户名
void test2()
{string str2 = "zhangsan@sina.com";int pos = str2.find("@");string subStr = str2.substr(0,pos);cout<<"subStr = "<<subStr<<endl;
}int main()
{test2();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/124127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】浏览器的通信能力

1. 用户代理 浏览器可以代替用户完成http请求&#xff0c;代替用户解析响应结果&#xff0c;所以我们称之为用户代理 user agent。 浏览器两大核心能力&#xff1a; 自动发送请求的能力自动解析响应的能力 1.1 自动发送请求的能力 用户在地址栏输入了一个url地址&#xff0…

eslint提示 xxx should be listed in the project's dependencies

有时候手动安装了一个npm包A&#xff0c;npm包A里面包含了npm包B&#xff0c;这时候如果 import xxx from npm包B;eslint会报错&#xff0c;提示 npm包B 不在 package.json 里面 解决方法&#xff1a;在 eslintrc.js 增加配置 module.exports {rules: {import/no-extraneous-d…

GEO生信数据挖掘(十一)STRING数据库PPI蛋白互作网络 Cytoscape个性化绘图【SCI 指日可待】

GEO生信数据挖掘&#xff08;十&#xff09;肺结核数据-差异分析-WGCNA分析&#xff08;900行代码整理注释更新版本&#xff09; 通过 前面十篇文章的学习&#xff0c;我们应该已经可以获取到一个”心仪的基因列表“了&#xff0c;相较于原始基因数量&#xff0c;这个列表的数…

目标检测算法发展史

前言 比起图像识别&#xff0c;现在图片生成技术要更加具有吸引力&#xff0c;但是要步入AIGC技术领域&#xff0c;首先不推荐一上来就接触那些已经成熟闭源的包装好了再提供给你的接口网站&#xff0c;会使用别人的模型生成一些图片就能叫自己会AIGC了吗&#xff1f;那样真正…

定档11月2日,YashanDB 2023年度发布会完整议程公布

数据库作为支撑核心业务的关键技术&#xff0c;对数字经济的发展有着重要的支撑作用&#xff0c;随着云计算、AI等技术的迅猛发展和数据量的爆发式增长&#xff0c;推动着数据库技术的加速创新。 为了应对用户日益复杂的数据管理需求&#xff0c;赋能行业国产化建设和数字化转型…

Windows详细安装和彻底删除RabbitMQ图文流程

RabbiitMQ简介 RabbitMQ是实现了高级消息队列协议&#xff08;AMQP&#xff1a;Advanced Message Queue Protocol&#xff09;的开源消息代理软件&#xff08;亦称面向消息的中间件&#xff09;。RabbitMQ服务器是用Erlang语言编写的&#xff0c;而聚类和故障转移是构建在开放…

C语言-递归和迭代

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

Windows下Redis配置密码,并设置自启动

1. 解压redis修改配置文件&#xff08;设置密码&#xff09; 打开Redis的配置文件&#xff0c;通常位于Redis安装目录下的 redis.windows.conf 去掉"requirepass"前注释&#xff0c;修改"foobared"为要设置的密码 requirepass foobared2.注册服务&#x…

SpringCloud之Eureka的学习【详细】

目录 服务架构演变 单体架构 分布式架构 分布式架构需要考虑的问题 微服务 架构比较 微服务技术对比 服务拆分注意事项 案例 服务远程调用 RestTemplate Eureka注册中心 RestTemplate存在的问题 服务调用考虑的问题 Eureka的作用 搭建EurekaServer 服务注册 …

刷穿力扣(31~60)

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 31. 下一个排列 排列原理就是 C 中的 next_permutation 函数&#xff0c;生成指定序列的下一个全排列从给定序列的最右端开始&#xff0c;找到第一个满足 nums[i] < nums[i 1] 的元素 nums[i]若找不到这…

挑战吧,HarmonyOS应用开发工程师

一年一度属于工程师的专属节日1024&#xff0c;多重活动亮相啦~ 参与活动即有机会获得HUAWEI Freebuds 5i 耳机等精美礼品&#xff01; 点击“阅读原文”查看更多活动详情&#xff01;

算法笔记【8】-合并排序算法

文章目录 一、前言二、合并排序算法基本原理三、实现步骤四、优缺点分析 一、前言 合并排序算法通过采用分治策略和递归思想&#xff0c;实现了高效、稳定的排序功能。本文将深入探讨合并排序算法的原理、实现步骤&#xff0c;并讨论其优缺点。 二、合并排序算法基本原理 合…

双向链表的初步练习

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇: Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”…

dbeaver配置es连接org.elasticsearch.xpack.sql.jdbc.EsDriver

查看目标es服务版本&#xff0c;下载对应驱动

[UDS] --- CommunicationControl 0x28

1 0x28功能描述 根据ISO14119-1标准中所述&#xff0c;诊断服务28服务主要用于网络中的报文发送与接受&#xff0c;比如控制应用报文的发送与接收&#xff0c;又或是控制网络管理报文的发送与接收&#xff0c;以便满足一定场景下的应用需求。 2 0x28应用场景 一般而言&#…

迁移学习 - 微调

什么是与训练和微调&#xff1f; 你需要搭建一个网络模型来完成一个特定的图像分类的任务。首先&#xff0c;你需要随机初始化参数&#xff0c;然后开始训练网络&#xff0c;不断调整参数&#xff0c;直到网络的损失越来越小。在训练的过程中&#xff0c;一开始初始化的参数会…

指针相关面试题目

数组名的意义&#xff1a; 1. sizeof( 数组名 ) &#xff0c;这里的数组名表示整个数组&#xff0c;计算的是整个数组的大小。 2. & 数组名&#xff0c;这里的数组名表示整个数组&#xff0c;取出的是整个数组的地址。 3. 除此之外所有的数组名都表示首元素的地址。 下…

【地理位置识别】IP归属地应用的特点

IP归属地应用是一类用于确定特定IP地址的地理位置信息&#xff08;通常是城市、地区或国家&#xff09;的工具和服务。以下是IP归属地应用的几个主要特点&#xff1a; 地理位置识别&#xff1a; IP归属地应用主要用于确定IP地址的地理位置。这可以帮助组织更好地了解其网站访问…

【C语言实现扫雷小游戏——可展开一片】

文章目录 1. 游戏分析和设计1.1扫雷游戏的功能说明1.2数据结构的分析与设计 2.代码实现2.1基本框架2.2初始化棋盘2.3打印棋盘2.4布置雷2.4统计周围雷的个数2.5排查雷2.6展开一片 3.完成代码3.1game.h3.2 game.c3.3test.c 学习完了函数和数组&#xff0c;让我们做个扫雷小游戏巩…