详解C++中string的用法和例子

详解C++中string的用法和例子

string简介

在C++中,string是一个非常实用的类,用于处理文本字符串。它的功能比C语言中的char数组更强大、更简单,也更安全。

头文件引入

使用string需要引入以下头文件:

#include <string>

命名空间

想要使用string类,需要用到std命名空间。可以使用如下的名称空间声明:

using namespace std;

或者在调用string对象时,显式指定std命名空间:

std::string str = "Hello World";

string的创建和初始化

使用string时,可以直接使用字符串字面量或者字符数组来初始化:

string str1 = "Hello World"; // 使用字符串字面量初始化
char chArr[] = "Hello World";
string str2(chArr); // 使用字符数组初始化

也可以使用构造函数来初始化:

string str3(10, 'a'); // 初始化一个长度为10的字符串,每个字符都是'a'

string的基本操作

获取字符串长度

使用string类的length()或者size()函数可以获取字符串的长度:

string str = "Hello";
int len = str.length(); // len的值是5

连接字符串

使用+运算符或者append()函数可以连接两个字符串:

string str1 = "Hello";
string str2 = "World";
string str3 = str1 + " " + str2; // str3的值是"Hello World"
str1.append(str2); // str1的值变成"HelloWorld"

访问字符串中的字符

可以使用[]来访问字符串中的单个字符:

string str = "Hello";
char ch = str[1]; // ch的值是'e'

也可以使用at()函数:

string str = "Hello";
char ch = str.at(1); // ch的值是'e'

查找字符串中的字符或子串

使用find()函数可以查找字符串中是否包含某个字符或者子串:

string str = "Hello";
int pos = str.find('e'); // pos的值是1
pos = str.find("ll"); // pos的值是2

注意find()返回值的类型是size_t,这是一个无符号整数类型。

截取字符串

使用substr()函数可以截取字符串的某一部分:

string str = "Hello World";
string substr1 = str.substr(6); // substr1的值是"World"
string substr2 = str.substr(0, 5); // substr2的值是"Hello"

第一个substr()函数参数表示从哪一个位置开始截取,第二个参数表示截取的长度。如果不指定第二个参数,则截取截止到字符串末尾。

示例

下面给出两个字符串的示例:

示例一:判断两个字符串是否相等

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str1 = "Hello";
    string str2 = "Hello";
    if (str1 == str2) {
        cout << "str1和str2相等" << endl;
    } else {
        cout << "str1和str2不相等" << endl;
    }
    return 0;
}

输出结果:

str1和str2相等

示例二:将字符串逆序输出

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = "Hello World";
    int n = str.length();
    for (int i = n - 1; i >= 0; i--) {
        cout << str[i];
    }
    cout << endl;
    return 0;
}

输出结果:

dlroW olleH

以上就是本文对C++中string的用法和例子的详细讲解。如有不足请指正,谢谢!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解C++中string的用法和例子 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • c# 读取文件内容存放到int数组 array.txt

    关于“c# 读取文件内容存放到int数组 array.txt”的攻略,我可以提供以下步骤: 步骤一:创建 int 数组 首先,我们需要创建一个 int 数组,用于存储文件内容。可以使用以下代码创建一个长度为 10 的数组: int[] array = new int[10]; 步骤二:读取文件内容 接下来,我们需要读取文件的内容并将其存储到数组中。可以使用下…

    C# 2023年6月7日
    00
  • C#微信接口之推送模板消息功能示例

    C#微信接口之推送模板消息功能示例是一篇介绍在C#中实现微信公众号推送模板消息功能的文章,下面我将进行详细讲解。 一、文章概述 本文主要介绍在C#中如何实现微信公众号推送模板消息功能。首先介绍了微信公众号的基本概念和开发环境的搭建。然后详细讲解了推送模板消息的实现原理和流程,并给出了两个示例说明。 二、微信公众号开发环境 微信公众号是基于微信平台提供的功能,…

    C# 2023年5月31日
    00
  • C# 9.0 特性全面总结

    C#9.0特性全面总结 引言 C#9.0 是微软在2020年末发布的最新版本,该版本引入了许多新特性,包括简化模式匹配、针对记录类型(record types)的语言支持、简化的异步流编程模型等等。本文将对C#9.0的新特性进行全面总结,并提供相应的示例代码。 最佳实践 简化模式匹配 引入 C# 6.0 引入了模式匹配,以更简洁、更可读的方式处理各种情况。C…

    C# 2023年5月15日
    00
  • 详解c#中Array,ArrayList与List的区别、共性与相互转换

    详解c#中Array,ArrayList与List的区别、共性与相互转换 区别 Array是定长的,一旦分配完内存大小,就不能再改变,而ArrayList、List是动态长度数组。 Array中只能存储单一数据类型,而ArrayList、List则可以存储不同类型的数据。 ArrayList内部存储对象,每次使用都需要进行拆箱和装箱操作,而List则是类型安…

    C# 2023年6月7日
    00
  • Go语言中转换JSON数据简单例子

    以下是“Go语言中转换JSON数据简单例子”的完整攻略。 1. 什么是JSON格式 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web应用程序和移动应用程序之间的数据传输。JSON格式以文本的形式进行数据存储,由键值对组成,类似于JavaScript对象。 2. Go语言中的JSON库 在Go语言中,官方…

    C# 2023年5月31日
    00
  • 使用Supervisor守护ASP.NET Core应用程序进程

    使用Supervisor守护ASP.NET Core应用程序进程 Supervisor是一个进程控制系统,可以帮助您管理和监控应用程序进程。在本攻略中,我们将讨论如何使用Supervisor守护ASP.NET Core应用程序进程,并提供两个示例说明。 步骤一:安装Supervisor 在将ASP.NET Core应用程序进程守护到Supervisor之前,…

    C# 2023年5月17日
    00
  • C#连接Excel2003和Excel2007以上版本做数据库的连接字符串

    当需要在程序中访问Excel文件中的数据时,我们可以使用 C# 连接 Excel 2003 和 Excel 2007 以上版本来实现。这里是完成该操作的完整攻略。 1. 连接 Excel 文件 1.1 安装 Microsoft.ACE.OLEDB.12.0 提供程序 如果想要连接 Excel2007 及以上版本,需要先安装 Microsoft.ACE.OLE…

    C# 2023年5月31日
    00
  • C#调用动态unlha32.dll解压Lha后缀的打包文件分享

    要讲解“C#调用动态unlha32.dll解压Lha后缀的打包文件分享”的完整攻略,我们需要掌握以下知识点: unlha32.dll是什么 如何在C#中调用unlha32.dll 如何解压Lha后缀的打包文件 接下来,我们将分别讲解每个知识点,并结合示例说明。 1. unlha32.dll是什么 unlha32.dll是一个解压缩工具,可以解压多种类型的压缩…

    C# 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部