C++字符串
字符串类
C
没有string
类
#include <string>
函数
函数名 | 用法 |
---|---|
s.length() s.size() | 统计字符串长度 |
s.append() s.push_back() | 追加字符串或字符 |
s.insert() | 插入字符 |
s.erase() s.pop_back() | 删除指定字符串或字符 |
s.substr() | 获取区间字符串 |
s.find() s.rfind() | 查找字符串 |
s.replace() | 替换区间字符串 |
s.empty() | 判断是否为空 |
s.swap() | 交换字符串 |
s.begin() s.end() | 返回头尾的迭代器 |
应用
定义
//空字符串类
string s1;
string s1();
//定义
string s2("hello");
string s2="hello";
//设置长度
string s3("hello",100);
//定义10个*
string s4(10,'*')
长度{#string_length}
string s("hello",100);
s.length();//100
s.size();//100
增删改查{#string_func}
//末尾增加单个字符'h'
s.push_back('h');
//末尾追加"hhh"
s.append("hhh");
//在2位置插入字符串"123"
s.insert(2,"123");
//弹出末尾字符
s.pop_back();
//删除从3位置开始的长度为5的字符串
s.erase(3,5);
//删除3到5位置的字符串 s.begin()->迭代器
s.erase(s.begin()+3,s.begin()+5);
//获取从3位置开始的长度为5的字符串
s.substr(3,5);
//查找"ABC" 找到返回地址 没找到返回string::npos
s.find("ABC");
//替换从3位置开始的长度为5的字符串为"ABC"
s.replace(3,5,"ABC");
//string允许用索引
s[i]='a';
//也可以用函数
s.at(i);
//获取头尾迭代器
s.begin();
s.end();
string
类可以直接用+
=
+=
>
>=
<
<=
==
!=
其他{#string_other}
//判断是否为空
s.empty();
//交换
s.swap(s2);
//调整长度
s.resize(100);
//string最大值 s.find()找不到时返回的
string::npos;