字符串相关内容
2025-01-17 17:17:21
发布于:北京
ASCII 码
计算机存储 :底层都是二进制数
所以字符存储在计算机中的是 ASCII 码整数。
需要记忆的常见字符 ASCII 码:
字符 | ASCII 码 |
---|---|
0 | 48 |
A | 65 |
a | 97 |
空格 | 32 |
运算符优先级
string
头文件:
#include<string>
定义:
string s;
输入:
cin >> s;//遇到空格停止
getline(cin,s);//行输入,遇到换行停止
reverse 函数
头文件:
#include<algorithm>
字符串反转函数,用于反转指定范围内的元素顺序。
第一个参数为起始位置迭代器,第二个参数为结束位置的下一位置迭代器。
#include <bits/stdc++.h>
using namespace std;
int main() {
string s = "abc";
reverse(s.begin(),s.end());
cout << s;
// s 变成了 cba
return 0;
}
substr 函数
字符串截取函数。
s.substr(pos,len);
返回一个string类型,它包含 s 中下标为 pos 起的 len 个字符。
len 这个参数可以省略。若省略得到的子串为从 pos 位置到字符串末尾的字符所构成的字符串。
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "abcdefg";
string s2 = s1.substr(1,3);
//从下标 1 的位置开始截取 3 个字符。
//s2 = "bcd"
return 0;
}
find 函数
字符串查找函数。
s.find(s2,pos);
在 s 中下标为 pos 的位置起,查找 s2 第一次出现的下标,若查找不到返回string: :npos。
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "cdvabcsc";
string s2 = "abc";
if (s1.find(s2, 0) != -1) {
cout << "s2 在 s1 中第一次出现的位置(下标)是:" << s1.find(s2, 0);
}else{
cout << "没找到";
}
return 0;
}
erase 函数
字符串删除函数,用于删除字符串指定范围内的字符。
s.erase(pos,len);
删除 s 中下标为 pos 开始的 len 个字符,返回类型为 string。
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1 = "0123456789";
s1.erase(2, 4); //从下标为 2 的位置开始,删除 4 个字符。
cout << s1;// s1 = "016789";
return 0;
}
这里空空如也
有帮助,赞一个