C++字符串类std::string介绍
C++字符串类std::string介绍。
·
- 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()
- 清空字符串
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献10条内容
所有评论(0)