313282
315978名用户注册
首页 > 技术资讯
C++中的字符串类——String类
2013-02-13 01:25:55       浏览量:4579       来源:管理员

 C++中对于字符串的处理,定义了一个专门的类---string

对于c语言:只有字符串常量

定义用字符数组: 

char  str[20] = ”abcdefg” ;

C++中要定义字符串:

string  str = ” abcdefg ” ; 

 blob.png

构造函数:

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

blob.png

注意 [ ]不会检查越界 ,而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类的连接:   可以直接使用“+ 运算符 ,也可以使用appendconst 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 ) ; 


推荐课程

1请描述您遇到的问题或您的意见、建议

2请留下联系方式,您将有机会获得精美奖品

[可选]