#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1("123456");
string str2("abcdefghijklmn");
string str;
str.assign(str1);//使用字符串str1初始化str;
cout<<str<<endl;
str.assign(str1,3,3);//使用str1的一部分初始化字符串str(下标为3的开始,往后数3个)
cout<<str<<endl;
str.assign(str1,2,str1.npos); //使用str1的一部分初始化字符串str(下标为2的开始,到最后一个)
cout<<str<<endl;
str.assign(5,'X'); //使用5个'X'来初始化字符串str
cout<<str<<endl;
string::iterator itB; //获取字符串起始位置
string::iterator itE; //获取字符串末端位置指针
itB=str1.begin();
itE=str1.end();
str.assign(itB,(--itE)); //比str.assign(itB,itE);少最后一个元素
//str.assign(itB,itE);
cout<<str<<endl;
str=str1;
cout<<str<<endl;
str.erase(3); //删除下标为3的及以后的元素
cout<<str<<endl;
str.erase(str.begin(),str.end()); //删除完str的所有元素
cout<<":"<<str<<":"<<endl;
//str.swap(str2); //交换元素 str得到str2的元素,str2得到str的元素
swap(str,str2); //交换元素 str得到str2的元素,str2得到str的元素,两种方式都可以
cout<<str<<endl;
int a=2; //交换元素
int b=3;
swap(a,b); ///
cout<<a<<" "<<b<<endl;
/
string A("ello");
string B("Ha");
B.insert(1,A);//插入元素 ,在B下标为1的位置插入A
cout<<B<<endl;
///...........
A="ello";
B="H";
B.insert(1,A,2,2); //从B的下标为1开始,插入A的下标由2开始往后数两个
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
B.insert(1,"yangchy",3); //从B的下标为1开始,插入"yangchy"的前3个字符
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
B.insert(1,5,'C'); //从B的下标为1开始,往后插入5个C
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
string::iterator it=B.begin()+1;
const string::iterator itF=A.begin();
const string::iterator itG=A.end();
B.insert(it,itF,itG); //从B的指针指向下标为1开始,插入A的所有元素
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append(A);
cout<<"追加: "<<B<<endl; //B后面追加了A
B.append("1"); //只能追加字符串
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append("12345",2); B后面追加了前两个字符
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append("12345",2,3); B后面追加从下标2开始,往后走3个
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append(10,'A'); B后面追加10个A字符
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append(A.begin(),A.end()); B后面追加A的所有
cout<<"追加: "<<B<<endl;
return 0;
}
#include<string>
using namespace std;
int main()
{
string str1("123456");
string str2("abcdefghijklmn");
string str;
str.assign(str1);//使用字符串str1初始化str;
cout<<str<<endl;
str.assign(str1,3,3);//使用str1的一部分初始化字符串str(下标为3的开始,往后数3个)
cout<<str<<endl;
str.assign(str1,2,str1.npos); //使用str1的一部分初始化字符串str(下标为2的开始,到最后一个)
cout<<str<<endl;
str.assign(5,'X'); //使用5个'X'来初始化字符串str
cout<<str<<endl;
string::iterator itB; //获取字符串起始位置
string::iterator itE; //获取字符串末端位置指针
itB=str1.begin();
itE=str1.end();
str.assign(itB,(--itE)); //比str.assign(itB,itE);少最后一个元素
//str.assign(itB,itE);
cout<<str<<endl;
str=str1;
cout<<str<<endl;
str.erase(3); //删除下标为3的及以后的元素
cout<<str<<endl;
str.erase(str.begin(),str.end()); //删除完str的所有元素
cout<<":"<<str<<":"<<endl;
//str.swap(str2); //交换元素 str得到str2的元素,str2得到str的元素
swap(str,str2); //交换元素 str得到str2的元素,str2得到str的元素,两种方式都可以
cout<<str<<endl;
int a=2; //交换元素
int b=3;
swap(a,b); ///
cout<<a<<" "<<b<<endl;
/
string A("ello");
string B("Ha");
B.insert(1,A);//插入元素 ,在B下标为1的位置插入A
cout<<B<<endl;
///...........
A="ello";
B="H";
B.insert(1,A,2,2); //从B的下标为1开始,插入A的下标由2开始往后数两个
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
B.insert(1,"yangchy",3); //从B的下标为1开始,插入"yangchy"的前3个字符
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
B.insert(1,5,'C'); //从B的下标为1开始,往后插入5个C
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
string::iterator it=B.begin()+1;
const string::iterator itF=A.begin();
const string::iterator itG=A.end();
B.insert(it,itF,itG); //从B的指针指向下标为1开始,插入A的所有元素
cout<<"插入:"<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append(A);
cout<<"追加: "<<B<<endl; //B后面追加了A
B.append("1"); //只能追加字符串
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append("12345",2); B后面追加了前两个字符
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append("12345",2,3); B后面追加从下标2开始,往后走3个
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append(10,'A'); B后面追加10个A字符
cout<<"追加: "<<B<<endl;
///..........
A="ello";
B="H";
cout<<"A="<<A<<",B="<<B<<endl;
B.append(A.begin(),A.end()); B后面追加A的所有
cout<<"追加: "<<B<<endl;
return 0;
}