//string
//增删改查
#include <string>
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
//初始化
/*string str1 = "str1";
cout << str1 << endl;
string str2;
str2 = "str2";
cout << str2 << endl;
string str3("str3");
cout << str3 << endl;
string str4(4, 'x');
cout << str4 << endl;
string str5("hugezuishuai", 1, 4);//截取
cout << str5 << endl; */
//与char *s的区别没有'\0'
/*string str = "hugezuishuai";
cout << str.size() << endl;
cout << str.length() << endl;
//c++ string提供一个访问字符串的接口:date(), c_str()
printf("%s\t%s\n", str.data(), str.c_str());*/
//赋值删改查
string str1("hugezuishuai");
string str2;
str2.assign(str1);//通过函数赋值
cout << str2 << endl;
str2.assign(str1, 1, 4);
cout << str2 << endl;
string str3(str1, 1, 4);
cout << str3 << endl;
string str4;
str4.assign(4, 'k');
cout << str4 << endl;
string first = "123";
string second = "123";
/*cout << (first > second) << endl;
cout << (first != second) << endl;
cout << (first < second) << endl;
cout << (first == second) << endl;*/
//调用比较成员函数 compare
cout << first.compare(second) << endl;
//调用追加成员函数 append
string strFirst = "hugezuishuai";
string strSecond = "yinweiwojiushi";
strFirst = strFirst + strSecond;
cout << strFirst << endl;
strFirst.append(strSecond);
cout << strFirst << endl;
strFirst.append(strSecond, 6, 13);
cout << strFirst << endl;
strFirst.append(4, 'x');
cout << strFirst << endl;
strFirst.append("wojiushi", 0, 7);
cout << strFirst << endl;
//string 查找 没找到 返回 npos (-1)
// 找到了 返回 在字符串中的下标 第一个 (因为是从左往右找到)
/*string findStr("hugezuishuai");
if (findStr.find('z') != -1) // 一般查找函数都是先要判断的
{
// 找字符
cout << findStr.find('z') << endl;// 返回第一个位置
// 找字子串
cout << findStr.find("shuai") << endl;
}
if (findStr.rfind('z') != -1)//是从后往前找找到的第一个下标,但是下标的顺序还是从左往右的
{
cout << findStr.rfind('z') << endl;
cout << findStr.rfind("ai") << endl;
}
if (findStr.find_first_of("zui") != -1) //寻找第一次出现的子串(要找字符串中的任意一个字符在字符串中出现的第一个位置)
{
cout << findStr.find_first_of("zui") << endl;
}
if (findStr.find_first_not_of("zui") != -1)// 寻找不是寻找子串中的字符在字符串中第一次出现的位置
{
cout << findStr.find_first_not_of("huge") << endl;
}
if (findStr.find_last_of("zui") != -1)
{
cout << findStr.find_last_of("zui") << endl;
}
if (findStr.find_last_not_of("zui") != -1)
{
cout << findStr.find_last_not_of("zui") << endl;
}*/
/*string reStr("hugezuishuai");
reStr.replace(0, 4, "huha");// 注意0代表从哪个位置开始,4代表要替换的字符数
cout << reStr << endl;
reStr = "hugezuishuai";
reStr.replace(0, 4, "huha", 0, 4);// 这里一样的道理
cout << reStr << endl;
reStr.replace(0, 4, 4, '0');// 一般find函数与replace连起来用,可以先查找,在进行替换
cout << reStr << endl;
reStr = "hugezuishuai";
int pos = reStr.find("zui");
reStr.replace(pos, 3, "tai");
cout << reStr << endl;*/
//erase
string deStr("hugezuishuai");
deStr.erase(4, 3);// 从哪个位置开始删除,删除几个
cout << deStr << endl;
deStr.erase(1);
cout << deStr << endl;
return 0;
}
07-11
1万+