C++字符串处理

头文件

1.<string.h> : <string.h>是C版本的头文件,包含比如strcpy、strcat之类的字符串处理函数。

2.<cstring>:在C++标准化的过程中,string.h头文件成了cstring头文件。但是其实现却是相同的或是兼容以前的<sring.h>的。

3.<string>  :  <string>是C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。使用<string>头文件后,可声明string对象,但在<string.h>或<cstrnrig>中不可这样做。

常用函数

以下介绍头文件<string>中string对象常用函数。

1. size()和length():返回string对象的字符个数,他们执行效果相同。

2. to_string(): 将数字常量转化为字符串。(将字符型变量转化为整型变量的方法:'1'-'0'=1)

3. stoi(): 将字符串(字符串显示为int类型)转化为十进制数据。

4. substr(i,j): 返回下标从i开始截取j位的子串。

5. append(n,c): 末尾添加字符n个字符c。

一些函数

  • 判断一个字符是否是数字 isdigit()
  • 判断一个字符是否是字母 isalpha()
  • 判断一个字符是否是数字或字母 isalnum()

字符串处理例题

PAT-乙级-1002-写出这个数 (字符串与整型数据的转化)

https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384

PAT-乙级-1106-换个格式输出整数 

https://pintia.cn/problem-sets/994805260223102976/problems/994805318855278592

PAT-乙级-1009-说反话   (STL库stack与字符串)

https://pintia.cn/problem-sets/994805260223102976/problems/994805314941992960

PAT-乙级-1014-福尔摩斯的约会  (<cctype>头文件中一些函数的用法)

https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560

PAT-乙级-1021-个位数的统计  (字符型与整型的转化)

https://pintia.cn/problem-sets/994805260223102976/problems/994805300404535296

PAT-乙级-1024-科学计数法 

https://pintia.cn/problem-sets/994805260223102976/problems/994805297229447168

PAT-乙级-1031-查验身份证

https://pintia.cn/problem-sets/994805260223102976/problems/994805290334011392

PAT-乙级-1048-数字加密 (数字以字符串形式输入输出,中间整型桥梁转化)

https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240

PAT-乙级-1052-卖个萌(vector二维string数组)

https://pintia.cn/problem-sets/994805260223102976/problems/994805273883951104

PAT-乙级-1054-求平均值(sscanf和sprintf函数的使用)

https://pintia.cn/problem-sets/994805260223102976/problems/994805272659214336

PAT-乙级-1058-选择题(吸收多余输入,vector和set的应用)

https://pintia.cn/problem-sets/994805260223102976/problems/994805270356541440

PAT-乙级-1067-试密码 (用getline含空格输入,记得吸收第一行上面的换行符getchar())

https://pintia.cn/problem-sets/994805260223102976/problems/994805266007048192

PAT-乙级-1081-检查密码

https://pintia.cn/problem-sets/994805260223102976/problems/994805261217153024

PAT-乙级-1084-外观数列

https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120

PAT-乙级-1086-就不告诉你

https://pintia.cn/problem-sets/994805260223102976/problems/1038429065476579328

PAT-乙级-1093-字符串A+B (Hash数组)

https://pintia.cn/problem-sets/994805260223102976/problems/1071785884776722432

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值