C++字符串处理

mac2024-10-29  56

头文件

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

最新回复(0)