C++字符串类std::string介绍

本文详细介绍了C++中std::string类的重要成员函数,包括构造函数、字符串拼接、查找、替换、比较以及子串、插入、赋值和清除等操作。通过实例展示了如何使用这些函数来操作和管理字符串,对于理解和使用C++字符串处理非常有帮助。
摘要由CSDN通过智能技术生成
  • std::string是最常用的字符串类,下面介绍下该类的一些成员函数
  • 参考文档

1 构造函数

1.1 string()

std::string str;

1.2 string(const string& str)

  • 用另一个str对象初始化字符串
// 用str1对象去初始化str2
string str1("hello word");
string str2(str1);

1.3 string(const string& str, size_t pos, size_t len = npos)

  • 从str的pos位置起,拷贝npos长度的字符串初始化字符串
string str1("hello word");
string str2(str1, 2, 6); //从str1的第2个位置拷贝6个字符串初始化str2

1.4 string(const char* s)

string str("helle word");  //用"hello word"字符串初始化str

1.5 string(const char* s, size_t n)

  • 用字符串s的前n个字符初始化字符串
string str("hello word", 3); //用"hello word"前三个字符初始化str

1.6 string(size_t n, char c)

  • 用n个字符c初始化字符串
string str(10, 'a'); //用10个字符'a'初始化str

2 字符串拼接

2.1 string& operator+=(const string& str)

string str1("welcome");
string str2(" to beijing");
str1 += str2;

2.2 string& operator+=(const char* str)

string str("welcome");
str += " to beijing";

2.3 string& operator+=(char c)

string str("welcom");
str += 'e';

2.4 string& append(const string& str)

//将str2拼接到str1的末尾
str1.append(str2);

2.5 string& append(const char* s)

//将"abcd"拼接到str的末尾
str.append("abcd");

2.6 string& append(const char* s, size_t n)

  • 将s的前n个字符拼接到字符串末尾
//将"abcd"的前两个字符拼接到str的末尾
str.append("abcd", 2);

2.7 string& append(size_t n, char c)

  • 将n个c拼接到字符串末尾
//将5个'a'拼接到str末尾
str.append(5, 'a'); 

2.8 string& append(const string& str, size_t subpos, size_t sublen)

  • 将str从subpos开始的位置选取sublen长度个字符拼接到字符串末尾
//从str1的第二个位置选取三个长度字符拼接到str2末尾
str2.append(str1, 2, 3);

2.9 string operator+(const string& str1, const string& str2)

str1 + str2

2.10 string operator+(const string& str, const char* s)

str + "abcd"

2.11 string operator+(const char* s, const string& str)

"abcd" + str

2.12 string operator+(const string& str, char c)

str + 'a'

2.13 string operator+(char c, const string& str)

'a' + str

3 字符串查找

3.1 size_t find(const string& str, size_t pos = 0) const

  • 从pos位置处查找str在字符串中第一次出现的位置
//从第五个位置查找str1在str2中第一次出现的位置
str2.find(str1, 5);

3.2 size_t find(const char* s, size_t pos = 0) const

  • 从pos处查找s在字符串中第一次出现的位置
//从str中查找"come"第一次出现的位置
str.find("come");

3.3 size_t find(char c, size_t pos = 0)

  • 从pos处查找c第一次在字符串中出现的位置
//查找str中字符'a'第一次出现的位置
str.find('a')

3.4 size_t find(const char* s, size_t pos, size_t n)

  • 从pos处查找s的前n个字符在字符串中出现的位置
//从str的第5个位置开始查找"abc"前2个字符第1次出现的位置
str.find("abc", 5, 2);
  • 未找到,返回std::string::npos

4 字符串替换

4.1 string& replace(int pos, int n, const string& str)

  • 替换从pos处开始的n个字符为str

4.2 string& replace(int pos, int n, const char* s)

  • 替换pos处开始的n个字符为s

5 字符串比较

5.1 int compare(const string& s) const

5.2 int compare(const char* s) const

  • 相等时返回0,大于返回1,小于返回-1

6、子串

string substr(int pos = 0, int n = npos) const

  • 返回pos处开始,npos长度的字串

7 字符串插入

7.1 string& insert(int pos, const char* s)

  • 在pos处插入s

7.2 string& insert(int pos, const string& str)

  • 在pos处插入str

7.3 string& insert(int pos, int n, char c)

  • 在pos处插入n个c

8 字符串赋值

8.1 string& operator= (const string& str)

8.2 string& operator= (const char* s)

8.3 string& operator= (char c)

8.4 string& assign (const string& str)

8.5 string& assign (const string& str, size_t subpos, size_t sublen);

8.6 string& assign (const char* s)

8.7 string& assign (const char* s, size_t n)

8.8 string& assign (size_t n, char c)

9 字符串清除

9.1 string& erase (size_t pos = 0, size_t len = npos)

  • 清除pos处开始len个字符长度的字符串

9.2 std::string::clear()

  • 清空字符串
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大草原的小灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值