详解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#开发Winform实现文件操作案例

    下面是详细的攻略: C#开发Winform实现文件操作案例 一、Windows Forms程序基础 首先,我们需要先了解Windows Forms程序的基础知识,包括如何创建基本的Winform应用程序、如何添加各种控件和窗体等等。这里就不详细阐述了,大家可以自行查阅相关教程进行学习。 二、文件操作的基本概念 在Winform应用程序中,经常需要对文件进行操…

    C# 2023年5月15日
    00
  • C# TextReader.ReadToEnd – 读取所有字符

    TextReader.ReadToEnd方法是一个用于读取文本中从当前位置到末尾的所有字符的方法。它返回的是一个字符串,包括在当前位置到文件末尾的所有字符。如果已经到了文本的末尾,那么.ReadToEnd()就会返回一个空字符串。这个方法在数据读取中非常常见,特别是在读取小文件时非常方便。下面是更详细的使用方法: 语法 public virtual stri…

    C# 2023年4月19日
    00
  • 浅析C# 委托(Delegate)

    浅析C# 委托(Delegate) 什么是委托? 在C#中,委托(Delegate)是一种特殊的类型,可以保存对一个或多个方法的引用。委托在事件处理、异步编程等方面具有非常重要的作用。 委托的基本语法如下: delegate returnType delegateName(parameterList); 其中,returnType 代表委托要返回的类型,de…

    C# 2023年6月7日
    00
  • c#反射机制学习和利用反射获取类型信息

    C#反射机制学习和利用反射获取类型信息 反射是C#语言中的一种高级特性,它允许程序在运行时查看和操作代码中的类型、属性和方法。开发人员可以利用反射获取类型信息,并创建对象、调用方法或访问属性,这使得程序的代码更加动态和灵活。 反射的基本概念 类型、程序集和命名空间 在C#中,类型是指类、接口、枚举、结构体等定义。程序集是一组关联的类型,可以打包为DLL或EX…

    C# 2023年5月15日
    00
  • 详解C#数据类型及其转换

    我来为您详细讲解“详解C#数据类型及其转换”的完整攻略。 一、数据类型及其分类 在C#编程中,数据类型是不可或缺的一部分。C#的数据类型可以分为以下几类: 值类型:这类数据类型是直接存储在堆栈中的,默认情况下分配在栈上,当超出范围时自动释放,这些类型包括:整型、浮点型、双精度浮点型、字符型、布尔型以及枚举类型等。 引用类型:这类数据类型存储在堆中,生成对象时…

    C# 2023年5月15日
    00
  • javascript数据类型中的一些小知识点(推荐)

    JavaScript数据类型中的一些小知识点 JavaScript是一种弱类型语言,其数据类型种类较多,包括基本数据类型和引用数据类型。本文将详细介绍JavaScript数据类型中的一些小知识点。 基本数据类型 字符串类型(String) 在JavaScript中,字符串类型是指包含有连续字符序列的值,其值需要使用单引号、双引号或反引号来表示。字符串类型的值…

    C# 2023年6月8日
    00
  • asp.net GridView 删除时弹出确认对话框(包括内容提示)

    下面是关于“asp.net GridView 删除时弹出确认对话框(包括内容提示)”的完整攻略: 一、需求 我们需要在一个asp.net GridView中删除数据时,弹出确认对话框,同时包含内容提示,确保用户明确知道正在进行的操作。 二、实现步骤 1.在GridView中添加删除按钮。 在GridView的模板列中,添加一个“删除”按钮,并设置Comman…

    C# 2023年6月1日
    00
  • C#数组的常用操作方法小结

    以下是C#数组的常用操作方法小结的详细攻略: 数组概述 数组是一种存储相同类型数据的集合。在C#中,声明数组时需要指定数组的类型和长度。数组的下标从0开始,最大下标为长度减1。 int[] nums = new int[5]; // 声明一个长度为5的int类型数组 常用操作方法 1. 数组的遍历 遍历数组是一个常见的操作,可以使用C#的for循环遍历数组元…

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