C++ string类常用方法详解

昨天 3823阅读

在C++编程中,string类是处理字符串的重要工具。它提供了丰富的方法来方便地操作字符串,下面将详细介绍一些常用的方法。

一、构造函数

string类有多种构造函数。例如:

string s1 = "Hello"; // 直接初始化
string s2(s1);       // 用另一个string对象初始化
string s3(5, 'a');   // 初始化包含5个字符'a'的字符串

这些构造函数让我们能够以不同的方式创建string对象。

C++ string类常用方法详解

二、获取字符串长度

通过length()size()方法可以获取字符串的长度。

string str = "World";
int len = str.length();
int sz = str.size();
// length()和size()功能相同

三、字符串拼接

可以使用+运算符或append()方法进行字符串拼接。

string s1 = "Hello";
string s2 = " World";
string s3 = s1 + s2; // 使用+运算符
s1.append(s2);       // 使用append()方法

四、字符访问

可以通过下标访问字符串中的字符,也可以使用at()方法,at()方法会进行边界检查,更安全。

string str = "Hello";
char c1 = str[1];   // 通过下标访问
char c2 = str.at(2); // 使用at()方法

五、查找子串

find()方法用于查找子串在字符串中的位置。

string str = "Hello World";
size_t pos = str.find("World");
if (pos != string::npos) {
    cout << "Found at position: " << pos << endl;
}

六、替换子串

replace()方法可以替换字符串中的子串。

string str = "Hello World";
str.replace(str.find("World"), 5, "C++");
cout << str << endl;

七、比较字符串

可以使用==!=<>等运算符比较两个字符串。

string s1 = "Hello";
string s2 = "Hello";
if (s1 == s2) {
    cout << "Equal" << endl;
}

八、字符串大小写转换

可以使用<algorithm>头文件中的transform()函数结合tolower()toupper()来实现字符串大小写转换。

#include <algorithm>
#include <cctype>

string str = "Hello";
transform(str.begin(), str.end(), str.begin(), [](unsigned char c) {
    return std::tolower(c);
});

在实际编程中,合理运用string类的这些方法能够高效地处理字符串相关的任务。无论是简单的字符串操作还是复杂的文本处理,都能轻松应对。建议在使用string类时,根据具体需求选择合适的方法,同时注意边界条件和性能问题。通过熟练掌握这些常用方法,能够提升C++编程中处理字符串的能力,使代码更加简洁、高效。

文章版权声明:除非注明,否则均为Dark零点博客原创文章,转载或复制请以超链接形式并注明出处。