C++ string 类的一些简单用法总结

关于C++标准程序库中String类的初始化,有以下几种方法:

1.用原有String对象初始化

2.用一个字符串常量进行初始化

string str1="123";
string str2(str1); 

3.用一个字符数组指针初始化

char char_array[5]={'1','2','3','4'};
string str(char_array);

4.用原有字符串搭配substr操作

string str1="123456";
string str2(str1,0,3);

5.利用迭代器

string str1="123456";
string str2(str1.begin(),str1.end());

6.还有一种不知道有啥意义,构造函数第一个参数为字符拷贝数量,第二个参数为拷贝的字符

string str(9,'1');

关于substr函数:

substr函数第一个参数是开始位置,截取字符数目为第二个参数,两个参数都有默认值,无参的substr函数代表全部截取。当substr第一个参数越界时,会报out_of_range错误,第二个参数过大导致越界则不会报错,截取到最后一个字符

string str="123456";
cout<<str.substr(0,3)<<endl;//输出“123”
cout<<str.substr(0,9)<<endl;//输出“123456”
cout<<str.substr(9,9)<<endl;//报错

有用的两个函数:append()与size():

  C++标准库为string类提供了一系列类似于容器的操作,其中str.append("append_string")代表向已有字符串后面添加字符,而size()与length()作用相同,即返回字符串长度。

两个不同的函数:insert()与replace():

  insert函数使得可以向字符串任意位置添加字符,但是有可能会造成原有字符串的储存位置发生改变,而replace()则可以替换给定位置的字符,它可以结合find()使用,注意,不要把string的成员函数replace与泛型算法中的replace混淆。

在《C++编程剖析》中提到了at()与[ ]的区别:at会进行数组越界检查,如果越界则会返回out_of_range错误,而索引操作符则不会进行检查,一般建议使用at()来进行索引操作。这也适用于string类。


刚刚尝试写博文作为总结笔记,如有问题或说法不妥,恳请指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值