#include
#include
#include
using namespace std;
void definition() //定义
{
string str(5,'a');
cout << str <
cout << str1 <
cout << str2 <
cout << str3 <
void output(string str) //输出 void attribute(string str) //属性 void modification(string str) //修改 //中间插入 //尾部插入 //重新赋值 //删除 void compare(string str) //比较 void operation(string str) //操作 cout << str.find(str3,3) << endl; //从下标[3]开始查找 找不到就返回起始位置 cout << str.substr(3,2) << endl; //返回指定位置的子串下标[3]的2个 } string::iterator ite; for(ite;ite!=str.end();ite++) void useiterator(string str) void fun(char c) //c为string元素(原型)的类型 不是 char * int main()
{
cout << str << "\n" << str.c_str() << '\n' << str[3] << str.at(3) <
}
{
string str1("123");
cout << str1.capacity() << endl; //空间大小
str1.reserve(18); //重置空间大小
cout << str1.capacity() << endl;
cout << str.length() << endl; //字符串长度
cout << str.size() << endl; //字符串大小
str.resize(8); //重置字符串大小
cout << str << endl;
}
{
string str1="123456";
char c1='!';
char c[]="wzr";
str.insert(3,str1);
cout << str << endl;
//str.insert(3,str1,3,2);
str.insert(3,c,3);
cout << str << endl;
str.insert(3,2,c1);
cout << str << endl;
//str+=str1;
str.append(str1);
cout << str << endl;
//str.append(c);
//str.append(str1,3,2);
//str.append(c,2);
//str.append(2,c1);
str.assign(str1);
cout << str << endl;
//str.assign(c);
//str.assign(str1,2,3);//从下标为2赋值三个
//str.assign(c,2);
//str.assign(3,c1);
//str[3]='@';
//cin >> str[4];
str.erase(2,3);
cout << str << endl;
str.erase(3);
cout << str << endl;
}
{
string str2=("abcdeff");
cout << str.compare(str2) << endl;
cout << (str>str2) << endl;
}
{
char c1[8]="0";
str.copy(c1,3,2); //从3开始复制两个 2的位置必须小于数组长度
cout << c1 << endl;
string str3="bcd";
cout << (int)str.find(str3,3) << endl; //str3也可以是字符串,字符
str.swap(str3); //交换
cout << str << '\n' << str3 << endl;
//运算符重载
void _iterator(string str) //string重新申请空间时迭代器会失效(扩大空间时ite会释放)
{
ite=str.begin();
{
cout << *ite << endl;
//cin >> *ite;
}
//cout << ite[2] << endl;
//for(size_t i=0;i
// cout << ite[i] << endl;
//}
//str.append(18,'h');
//ite[3]='w'; //失效
str.append(18,'i');
ite=str.begin();
ite[11]='w';
cout << str << endl;
}
{
string str4="qwer";
string::iterator ite=str4.begin();
//str.append(str4.begin(),str4.begin()+4);
//str.append(ite.start(),ite.end()); 错误
//str.erase(3,2);
//str.erase(str.begin()+2,3); //str.begin()可以看作0
str.insert(str.begin()+3,str4.begin(),str4.end());
cout << str << endl;
}
{
cout << c;
}
void _algorithm(string str)
{
for_each(str.begin(),str.end(),fun);
//遍历每一个(开始,结尾,行为);
cout << endl;
sort(str.begin(),str.end(),greater
cout << str << endl;
sort(str.begin(),str.end(),less
for_each(str.begin(),str.end(),fun);
}
{
string str("abcdefg");
//definition(); //定义
//output(str); //输出
//attribute(str); //属性
//modification(str); //修改
//compare(str);
//operation(str); //操作
//_iterator(str);
//useiterator(str); //使用迭代器
//_algorithm(str); //算法
return 0;
}