C++的string类
C++的string类是C++标准库中的一个重要组成部分,它是一种可变长度的字符串类型,它可以用来存储字符串、字符串操作和字符串处理。它是一个模板类,可以接受多种字符类型,如char、wchar_t和char16_t等。
定义
string类是C++标准库中的一个模板类,可以接受多种字符类型,如char、wchar_t和char16_t等。它是一个可变长度的字符串类型,它可以存储字符串、字符串操作和字符串处理。它定义在头文件
#includeusing 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类的例子,以演示如何拼接、查找、替换字符串:
#includeusing 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++。