首页 > 编程语言 > 详细

C++ string类的使用

时间:2020-02-09 19:32:35      阅读:47      评论:0      收藏:0      [点我收藏+]

C++ string的使用

在了解如何使用string类之前,我们先来看看C语言中使用字符串有多麻烦

调用头文件:cstring

定义一个C字符串:

    char str1[51]="Hello World";
    char str2[51]="你好,世界";
    
    printf("%s \n %s",&str1,&str2);

判断两个字符串是否相等:

    if(strcmp(str1,str2))
        //do sth.

后续赋值:

    strcpy(str1,str2);

现在来看看string是如何使用的:

string类的成员函数:
| 名称 |功能 |
|--|--|
| 构造函数 | 初始化字符串 |
| 析构函数| 销毁字符串 |
| =| 赋值 |
|+,+ =,append( ),push_back() |拼接字符串 |
| insert ()| 插入字符 |
|erase() | 删除字符|
| clear()| 移除全部字符(相当于="")|
|resize() |改变字符数量 |
| replace()| 替换字符|
|!=,==,<,<= ,>=,>,|比较字符串 |
|c_str()| 将内容以 C - string 形式返回|
|substr() |返回子字符串|
|size(),length() |返回字符串长度 |
|find() |搜寻某子字符串或字符|
|begin( ),end() |提供正向迭代器支持|
|rbegin(),rend() |提供逆向迭代器支持|
|[],at() |返回某个位置的字符 |

调用头文件:string

    string str1;//初始化字符串,空字符串
    string str2 = str1; //拷贝初始化,其内容等于s1
    string str3 = "I am b"; //直接初始化
    string str4(10, 'a'); //s4存的字符串是aaaaaaaaaa
    string str5(str4); //拷贝初始化
    string str6("I am d"); //直接初始化
    string str7 = string(6, 'c'); //拷贝初始化,cccccc

string的操作:

    string str8=str3+str4; //将s3与s4拼接,储存在s8内
    string str9="the str9: ";
    str9+=str6; //直接拼接
    cout << str9.size() << endl; //输出s9的长度
    cout << str9[5] << endl; //输出s9的第5个字符
    
    string str10;
    getline(cin,str10); //读取一整行字符串至s10(即按下回车键才终止输入)
    cout << str10 << endl; //输出刚才输入的字符串
    
    string str11=str7.substr(0,3); //截取str7从0到3之间的字符串
    cout << str11 << endl;
    
    str11.insert(1,"bbb"); //将"bbb"插入到s11的第1个位置中
    str11.erase(1,3); //删除s11的第1个位置之后的3个字符
    cout << str11 << endl;
    
    str11="123456789"; //对s11进行重新赋值
    s11tr.replace(3-1,3,"kkk"); //替换s11的第3-1个位置之后的3个字符串为"kkk"
    cout << str11;

显而易见,C++的string类比C的字符串定义好非常多。

最后补上一句:STL大法好!!!

C++ string类的使用

原文:https://www.cnblogs.com/Return-blog/p/12288005.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!