C++中对于字符串的处理,定义了一个专门的类---string
对于c语言:只有字符串常量
定义用字符数组:
char str[20] = ”abcdefg” ;
C++中要定义字符串:
string str = ” abcdefg ” ;
构造函数:
string str ; //直接定义,生成一个空的字符串 ; 后面也可赋值 =“字符串内容”;
string str2 (str) ; //将str内容复制到str2中
string str3(str2,5) ; //从第5个字符位置,开始赋值到末尾
string str4(str2, 5, 3); //从第5个字符位置开始,往后复制3个字符
string str5(const char *s) ; // 通过字符指针来创建
string str6(const char *s , int n); // 复制前n个字符
string str7(int n ,char c) ; //用n个字符初始化字符串变量(对象)
string属性:
大小属性:
int max_size(); //返回string对象的最大字符串长度
int length() ; //返回字符串当前的长度
int size(); //返回字符串当前的大小 与length()返回同样结果
bool empty() ; //判断字符串是否为空
void resize(int len , char c) ; //把字符串当前大小重新设置为len,并用字符c填充空余的位置
String类的元素访问: [ ] 或 at
注意 [ ]不会检查越界 ,而at()会检查
String类的比较: 可以直接使用比较运算符进行比较,也可以使用 int compare(const string s)
Int compare(int m,int n,const string s);
Int compare(int m,int n,const string s,int m2,int n2);
String类的连接: 可以直接使用“+” 运算符 ,也可以使用append(const char *s);
append(const char *s, int n);
append(const string &s);
append(const string &s, int m, int n);
append(int n , char c);
String类的截取与提取:
string sunstr(int m,int n); 从m位置开始,截取n个字符,返回截取的字符,对原来字符没有影响
string erase( ) ; 清除字符 ,清除后会改变原来的字符
String类的交换:
void swap( string &s2 ) ;