string的创建
string s="abcd";
string s1(s);
string c;
c.assign("hello");
string e;
e.assign(c, 2, 2); 从c的第二个位置取两个出来
cout << e<<endl;
string的添加
string d;
d.assign("hello", 3); 从hello取前三个字符
cout << d << endl;*/
//string c = "小宝贝abc";
//string d = "def";
//c += d; 字符串添加
//c += 'w';
//c += "hhh";
//c.append("hh");
//c.append("gamer", 2); 就是添加字符串 "gamer" 的前 2 个字符,在末尾。
//c.append(d);
//c.append(c, 2, 4); 从c的2开始取四个
////c += "大炮戈戈";
////c.append(c, 1, 2);
//cout << c << endl;
string的查找
//字符串查找
string c = "abcdefgde";
size_t num=c.find("de"); 返回的是第一次找到的子字符串的起始位置。
cout << num << endl;
size_t numb = c.rfind("de"); 返回的是最后一次找到的子字符串的起始位置。
cout << numb << endl;
string的替换
//字符串替换
/string a = "abcdefgh";
a.replace(1, 3, "hhhhhhhhhhhhhhhhhh"); 从1开始替换3个位置,替换为后面的内容
cout << a << endl;/
string比较
////字符串比较
//string s1 = "abcdef";
//string s2 = "abcdefg";
//cout << s1.compare(s2) << endl; 比较两个字符串,返回 -1(s1 < s2)、0(相等)或 1(s1 > s2),没什么意义,主要用于判别是否相等
string存取
////字符串存取
//string s1 = "hello";
///for (int i = 0; i < s1.size(); i++) {
// cout << s1.at(i) << endl;
//}/
//for (auto c : s1) {
// cout << c << endl; 下面是现代c++
//}
string插入和删除
// 字符串插入和删除
//string s1 = "hello";
//s1.insert(1, "hhh");
//cout << s1 << endl;
//s1.erase(1, 4);
//cout << s1 << endl;
string的字串
//字符串字串
string str = "abcdefg";
auto str1 = str.substr(2, 3); 从2开始获取三个
cout << str1 << endl;
std::string_view sub = std::string_view{ str1 }.substr(1,2); c++17引入的高效方案,不复制数据!
cout << sub<<endl;
浙公网安备 33010602011771号