第十章 面向对象思想1
string 类
C++中的string类定义了string类型,下面先介绍它所包含的部分函数,以便操作字符串更加方便。
构造一个字符串:
方式一
string s = "Welcome to C++;
// 效率不好,不提倡
方式二 (使用字符串构造函数)
string s;
//调用无参构造方法
string s("Welcome to C++");
追加字符串:
string append(string s);
//将字符串s追加到当前字符串后
string append(string s,int index,int n);
//将字符串s从下标index开始后的n个字符追加到当前字符串后
string append(string s,int n);
//将字符串的前n个字符追加到当前字符串后
string append(int n,char ch);
//将字符ch在当前字符串后追加n次
字符串赋值:
string assign(char s[]);
//将字符数组或字符串赋给当前数组
string assign(string s);
string assign(string s,int index,int n);
string assign(int n,char ch);
注意上述函数的返回值,最好亲自上机试一试。
字符串比较:
int compare(string s);
//与s进行比较,根据大于,等于,小于,返回大于0,等于0,小于0的整数
int compare(int index,int n,string s);
//与子字符串s[index,index+n-1]比较
获取子串:
string substr(int index,int n);
//返回当前字符串从下标index开始的n个字符组成的子串
string substr(int index);
//返回当前字符串从下标index开始的子串
字符串搜索:
find函数可以在字符串中搜索一个字符或者一个子串,若不存在,则返回string::npos
unsigned find(char ch);
//返回第一次出现字符ch的下标
unsigned find(char ch,int index);
//返回从下标index开始第一次出现字符ch的下标
unsigned find(string s);
unsigned find(string s,int index);
//用法上同
字符串的插入和替换:
string insert(string s,int index);
//将s插入到下标为index处
string insert(int index,int n,char ch);
//在下标index处插入n个字符ch
string replace(int index,int n,string s);
//将下标从index开始的n个字符替换为s
字符串运算符:
[] 访问字符串中的字符
= 复制
+ 连接
+= 追加
<< 将一个字符串插入一个流
>> 从一个流提取一个字符串,分界符为空格或空终结符
==,!=,<,<=,>,>= 比较运算符
其他的一些函数:
int at(int index);
//返回下标为index的字符
void clear();
//清空字符串
bool empty();
//如字符串为空,返回true
string erase(int index,int n);
//删除从下标index开始的n个字符构成的子串