算法题-字符串

1.C++字符串

c++提供了一下两种类型的字符串表示形式:

  • c风格字符串
  • c++引入的string类类型

1.1C风格字符串

C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。
下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 RUNOOB 的字符数多一个。

char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};

依据数组初始化规则,您可以把上面的语句写成以下语句

char site[] = "RUNOOB";

在这里插入图片描述
其实,您不需要把 null 字符放在字符串常量的末尾。C++ 编译器会在初始化数组时,自动把 \0 放在字符串的末尾。让我们尝试输出上面的字符串

相关函数

字符串相关函数

1.2 C++中的string类

C++ 标准库提供了 string 类类型,支持上述所有的操作,另外还增加了其他更多的功能。我们将学习 C++ 标准库中的这个类,现在让我们先来看看下面这个实例:

现在您可能还无法透彻地理解这个实例,因为到目前为止我们还没有讨论类和对象。所以现在您可以只是粗略地看下这个实例,等理解了面向对象的概念之后再回头来理解这个实例

#include <iostream>
#include <string>using namespace std;int main ()
{string str1 = "runoob";string str2 = "google";string str3;int  len ;// 复制 str1 到 str3str3 = str1;cout << "str3 : " << str3 << endl;// 连接 str1 和 str2str3 = str1 + str2;cout << "str1 + str2 : " << str3 << endl;// 连接后,str3 的总长度len = str3.size();cout << "str3.size() :  " << len << endl;return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

str3 : runoob
str1 + str2 : runoobgoogle
str3.size() :  12

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

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

相关文章

前端项目本地的node_modules直接上传到服务器上无法直接使用(node-sasa模块报错)

跑 jekins任务的服务器不能连接外网下载依赖包&#xff0c;就将本地下载的 node_modules直接上传到服务器上&#xff0c;但是运行时node-sass模块报错了ERROR in Missing binding /root/component/node_modules/node-sass/vendor/linux-x64-48/binding.node >> 报错信息类…

pip install selenium异常

error: externally-managed-environment This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install. If you wish to install a Python library that isnt in Ho…

Mybatis-Dao 层面向接口开发

面向接口开发方式只需要程序员编写接口,由Mybatis框架创建接口的动态代理 对象,使用sqlsession.getMapper(接口.class);获得代理对象. 面向接口开发需要遵循以下规范&#xff1a; 1、 Mapper.xml文件中的namespace与mapper接口的类路径相同. 2、 Mapper接口方法名和Mapper.xml中…

MySQl高级篇-事务、锁机制、MVCC

存储引擎的选择 在选择存储引擎时&#xff0c;应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统&#xff0c;还可以根据实际情况选择多种存储引擎进行组合。 InnoDB&#xff1a;是Mysql的默认存储引擎&#xff0c;支持事务、外键。如果应用对事务的完整性有比较…

多媒体软件开发选择Animate软件还是Unity3D软件?

以下内容可能有一些片面&#xff0c;因为多媒体软件开发平台有很多&#xff0c;因为接触Animate和Unity3D比较多&#xff0c;所以这里仅对这两款进行分析&#xff01; Animate软件与Unity3D软件都是经常在多媒体展馆中用来制作互动展示内容的&#xff0c;对于这两种开发平台&a…

【可视化大屏系列】Echarts之饼图绘制

本文为个人近期学习总结,若有错误之处,欢迎指出! Echarts之饼图绘制 前言1.需求2.实现效果3.大概思路4.代码实现子组件写法父组件写法5.附加(1)圆环饼图的绘制(2)南丁格尔玫瑰饼图A.半径展示数据的大小B.面积展示数据的大小前言 在前文页面布局、DataV 的使用、Echarts…

go test测试

go test基本介绍 go test命令是一个按照一定的约定和组织来测试代码的程序。在包目录内&#xff0c;所有以_test.go为后缀名的源文件在执行go build时不会被构建成包的一部分&#xff0c;它们是go test测试的一部分。 在*_test.go文件中&#xff0c;有三种类型的函数&#xf…

【数据结构】--- 堆的应用

​ 个人主页&#xff1a;星纭-CSDN博客 系列文章专栏 :数据结构 踏上取经路&#xff0c;比抵达灵山更重要&#xff01;一起努力一起进步&#xff01; 一.堆排序 在前一个文章的学习中&#xff0c;我们使用数组的物理结构构造出了逻辑结构上的堆。那么堆到底有什么用呢&…

GO channel 学习

引言 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换&#xff0c;但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性&#xff0c;必须使用互斥量对内存进行加锁&#…

PostgreSQL 创建表格

PostgreSQL 创建表格 PostgreSQL 是一个功能强大的开源对象关系型数据库系统&#xff0c;它使用和扩展了SQL语言&#xff0c;并结合了许多安全存储和扩展最复杂数据工作负载的功能。在PostgreSQL中&#xff0c;创建表格是数据库设计的基础步骤之一&#xff0c;它定义了数据的结…

google 应用内评价

前言&#xff1a; 在应用内拉起 google 评价弹窗&#xff0c;用户提交 Play 商店的评分和评价&#xff0c;无需退出应用或游戏。应用内评价在应用的整个过程中随时触发。用户可以使用 1 到 5 星系统对您的应用进行评分&#xff0c;还可以选择添加评论。评价提交后将发送到 Pla…

016.自定义指纹chromium-随机tls指纹(ja4指纹)

自定义指纹chromium-随机tls指纹(ja4指纹) 一、什么是JA4指纹 JA4指纹可以理解成&#xff1a;将加密算法顺序排序后的ja3指纹。之前写过一篇博客介绍ja3指纹&#xff1a;插眼传送由于之前打乱算法顺序&#xff0c;只会改变ja3指纹和akamai指纹&#xff0c;ja4指纹并不会变。所…

虚拟专用网络(VPN)技术的研究与应用

随着信息技术的飞速发展和网络应用的日益普及&#xff0c;网络安全和隐私保护成为了人们关注的焦点。虚拟专用网络&#xff08;VPN&#xff09;作为一种重要的网络安全技术&#xff0c;通过在公共网络上建立专用网络&#xff0c;实现了数据的安全传输和用户隐私的保护。本文详细…

ASP.NET Core----基础学习06----将所有数据在页面中显示 布局页面的使用

文章目录 1. 将数据以list的形式展示在页面中2. 布局页面的使用3. 自定义设置视图文件是否需要加载的JS 1. 将数据以list的形式展示在页面中 step1:在接口文件中添加新的方法GetAllStudents&#xff08;&#xff09; step2:在mock的数据中添加方法GetAllStudents&#xff08;&a…

关于mogdb vs kingbase的测评 说明

上周5同事转了一个帖子给我&#xff0c;说某公众号写了一篇MogDB vs KingBase的文章测评。该博主使用sysbench测了一些场景&#xff0c;其中大部分场景Mogdb相比KingBase而言表现都要差一些&#xff0c;只有一个场景比kingbase高很多。 老实说第一眼看到这个文章&#xff0c;我…

谷歌Gemini产品大揭秘:AI新纪元即将到来!

谷歌在Google I/O大会上预告了五款备受瞩目的Gemini产品&#xff0c;预计于7月15日和7月18日发布。这些产品将包括新版Imagen3、Gemini定制GPT、个性化回应功能、预设提示词以及录音与Google Photos集成等。 AI-321 | 专注全球AI工具推荐的网站 Ai工具集 | 专注ai人工智能 | 集…

代码随想录算法训练营第37天

卡码网 52. 携带研究材料 链接 #include <iostream> #include <vector> using namespace std;int knapsack(int w, vector<int>& weight, vector<int>& value) {vector<int> dp(w 1, 0);for(int i 0; i < weight.size(); i) {for…

JNI: 在Kotlin和C++之间通过JNI进行接口传递,两边参数定义映射

在Kotlin和C之间通过JNI进行接口传递时&#xff0c;需要注意两边参数定义的映射关系。JNI&#xff08;Java Native Interface&#xff09;为Java&#xff08;Kotlin也适用&#xff09;与本地语言&#xff08;如C/C&#xff09;之间的交互提供了桥梁。在Kotlin中定义的外部函数和…

C语言指针超详解——强化篇

C语言指针系列文章目录 入门篇 强化篇 文章目录 C语言指针系列文章目录1. assert 断言2. 指针的使用和传址调用2. 1 strlen的模拟实现2. 2 传值调用和传址调用 3. 数组名的理解4. 使用指针访问数组5. 一维数组传参的本质6. 冒泡排序7. 二级指针8. 指针数组9. 指针数组模拟实现…

C语言 ——— 将一句英语短句中的单词进行倒置

目录 题目要求 代码实现 题目要求 将一句英语短句中的单词进行倒置&#xff0c;标点符号不倒置 如&#xff1a; 输入&#xff1a;"I like chongqing very much," 输出&#xff1a;"much, very chongqing like I" 代码实现 #include<stdio.h> #i…