关键词

string

C++的string类:定义和高级用法详解

C++的string类

C++的string类是C++标准库中的一个重要组成部分,它是一种可变长度的字符串类型,它可以用来存储字符串、字符串操作和字符串处理。它是一个模板类,可以接受多种字符类型,如char、wchar_t和char16_t等。

定义

string类是C++标准库中的一个模板类,可以接受多种字符类型,如char、wchar_t和char16_t等。它是一个可变长度的字符串类型,它可以存储字符串、字符串操作和字符串处理。它定义在头文件<string>中,如下所示:

#include <string>
using std::string;

构造函数

string类提供了多个构造函数,可以根据需要构造不同类型的string对象,具体如下:

  • string(const char* s); // 从字符串构造string对象
  • string(const string& str); // 从string对象构造string对象
  • string(size_t n, char c); // 从n个字符c构造string对象

字符串操作

string类提供了多种操作字符串的方法,可以实现字符串的拼接、查找、替换等操作,具体如下:

  • string& append(const string& str); // 将字符串str拼接到原字符串尾部
  • size_t find(const string& str, size_t pos = 0); // 在原字符串中从pos位置开始查找字符串str,返回其位置
  • string& replace(size_t pos, size_t len, const string& str); // 将原字符串从pos位置开始的len个字符替换为字符串str

字符串处理

string类提供了多种处理字符串的方法,可以实现字符串的比较、获取子串、提取字符等操作,具体如下:

  • int compare(const string& str); // 比较字符串str与原字符串的大小,返回0表示相等,返回正数表示原字符串大,返回负数表示字符串str大
  • string substr(size_t pos, size_t len); // 从原字符串的pos位置开始截取len长度的子串,返回子串
  • string& erase(size_t pos, size_t len); // 从原字符串的pos位置开始删除len长度的字符,返回删除后的字符串

使用方法

以下是一个使用string类的例子,以演示如何拼接、查找、替换字符串:

#include <string>
using std::string;

int main()
{
    string s1 = "hello";
    string s2 = "world";
    string s3 = s1 + " " + s2; // 拼接字符串
    size_t pos = s3.find("world"); // 查找字符串
    s3.replace(pos, 5, "C++"); // 替换字符串
    std::cout << s3 << std::endl;
    return 0;
}

编译运行上面的代码,可以得到输出:hello C++。

本文链接:http://task.lmcjl.com/news/2675.html

展开阅读全文