part 1 easy :
string 可改变长度的字符序列即字符串
string 支持操作 初始化、复制、比较、连接、查询长度、是否空、访问字符中的单个字符。
头文件 string
string s1 s2 s3 s1="hello worid" string s4("i am") 两种初始化方法
s2=“today”; 赋值
s1=s3+" "+s4; 三个字符串连接//3、4、" "
s1+=" 5 "; 末尾添加
s.size() 代表字符串的长度 从0到小于字符串的长度为字符串的每个字符,可用for逐个输出
getline(cin,s)读取一行赋值给s,返回is //先理解为赋值
s.empty() 如果s空返回ture,否则false 检测器的作用
s[n] 引用字符0~n-1 string 区分大小写
强制转换十进制为十六进制
#include <iostream>
#include <string>
#include <cstddef>
using namespace std;
int main(){
const string hexdigits = "0123456789ABCDEF";
cout << "Enter a numbers between 0 and 15: " << endl;
string::size_type n;
cin >> n;
if (n < hexdigits.size()) //检查下标范围
cout <<"Hex number is: "<< hexdigits[n] << endl;
else
cout <<"Invalid input." << endl;
}
part 2 middle :
删除
方法一 赋值0
方法2
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string s = "abc123456";
s.erase(s.begin()+3); //删除第三个元素,元素从位置0开始计数;
cout << s << endl;
s.erase(s.begin(), s.begin()+4); //删除区间[0, 4)内所有元素的值;
cout << s << endl;
s = ""; //清空字符串;
cout << s.length() << endl; //输出字符串的长度;
return 0;
}
运行结果:
abc23456
3456
0
————————————————
版权声明:本文为CSDN博主「FinalFantacy~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/keshacookie/article/details/18356189
明确区间的概念
迭代器删除方法在困难部分
总结:使用erase时,要通过s.begin和加的值确定要删除的区间 [前闭后开 )