1.声明string对象
string mystring;//声明了一个空串mystring,其长度为0
string proverb="many a mickle makes a muckle.";//声明,并初始化
string proverb("many a mickle makes a muckle.");//函数表示法初始化对象
string sleeping(6,'z');//表示字符串"ZZZZZZ"
string sleeping(1,'z');//表示字符串"Z"
//proverb是已有的string对象
string sentence=proverb;//直接赋值给新建的对象
string sentence(proverb);//函数表示法
string sentence(proverb,0,13);//截取proverb前13个字符,赋值给sentence对象="many a mickle"
2.使用string对象
//字符串的赋值
string ad="throw";//定义2个对象
string word="rubbish";//
word=ad;//可以直接把一个对象的指赋给另一个
ad="wash";//也可以直接把某一字符串的值赋给string对象
//字符串的连接
string add=ad+" "+word+" "+"ship is heading";//可以使用string对象和字符串字面量连接在一起
3.访问字符串中的字符
string sentence="abcdefgh";//声明字符串
for(i=0;i<sentence.length();i++)//sentence.length()用来表示此字符串的长度
cout<<sentence[i];//字符串的单个字符用下标表示即可
string find=sentence.substr(1,3);//访问字符串的子串 表示从sentence的索引位置为1开始,取3个字符,赋值给find
string find=sentence.substr(5);//从索引位置为5开始到字符串的结尾,都赋值给find
4.比较字符串
string a="apple";
string b="banana";
if(a>b) cout<<"I like apple"<<endl//直接2个字符串比较大小
b.compare(a);//b和a比较大小
b.compare(1,3,"whereareyou",4,6);//b的从索引1开始的,3个字符和“whereareyou”的从索引为4的位置开始的6个字符,来比较
//就是"ple" 和 "eareyo"这两个字符串比较
5.搜索字符串
cout<<sentence.find(word);//函数返回搜索到的第一个子字符串中第一个字符的位置,如果失败,返回内置常量string::npos
cout<<sentence.find("man",3);//从指定的索引位置开始查找
cout<<sentence.rfind(word);//逆向搜索,返回第一个子字符串中第一个字符的位置,如果失败,返回内置常量string::npos
cout<<sentence.rfind("man",3);//从倒数的指定位置开始查找
cout<<sentence.find_first_of("AaEeIiOoUu");//查找特定字符集中的字符,此处查找以元音字母开头的字母的位置
cout<<sentence.find_last_of("AaEeIiOoUu",1,5);//从后面数,索引为1的位置开始,只搜索5个字符就停止
string phrase="we can insert a string";
string words="a string into ";
phrase.insert(14,words);//将words字符串插入到phrase中索引位置为14的字符前面。
phrase.insert(14,"a string into ");//与上面语句执行的功能一样
phrase.insert(5,words,7,9);//将words字符串从7位置开始的9个字符替换掉phrase字符串索引位置为5的字符的后面
phrase.replace(13,5,words);//将phrase从位置13开始的5个字符替换成words表示的字符。