string的基本定义与使用方法总结

自己救自己系列, 找工作刷题做点总结。每次敲代码脑子就像是没长一样,空空的。

 

string 类是 STL 中 basic_string 模板实例化得到的模板类。

1、初始化

string s;                      //初始化
string s="shimuyaa";           //初始化并赋值
string s(10, '0');             //初始话一个长度为10,字符全为0的字符串

2、求长度

// length() 和 size() 均可
int len = s.length();
int len = s.size();

3、插入索引

char b=s[i];             //可通过下表索引第i个字符并赋给b
s.push_back('a');        //可通过push_back在末尾插入某字符
s += 'a';                // += 可用于string拼接
s.pop_back();            //可通过pop_back删除最后一个字符

4、获得子串

c = s.substr(i,j);     //截取从第i个字符开始,长度为j的字符串
d = s.substr(i);       //截取从第i个字符开始后的字符串

5、对string的字符进行循环

for(char c:s){          //看到c++有这个形式我觉得好神奇!原来在C++11中更新了
     
}

//如果需要对s中的字符进行修改,使用
for(char& c:s){
    c='';
}

//如果遍历过程中不允许进行修改,使用
for(const char& c:s){

}

6、对string反转

# 对字符串s进行反转,无返回值
reverse(s.begin(), s.end());  

7、C++中内置的关于“字母数字”判断相关的函数

islower(char c) 是否为小写字母
isupper(char c) 是否为大写字母
isdigit(char c) 是否为数字
isalpha(char c) 是否为字母
isalnum(char c) 是否为字母或者数字
toupper(char c) 字母小转大
tolower(char c) 字母大转小

8、做道题压压惊

Z字型变换: https://leetcode-cn.com/problems/zigzag-conversion/

电话号码的字母组合 https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/

分割回文串

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值