//string 专项练习#include<iostream>#include<cstdio>#include<string>usingnamespace std;intmain(){
string str="hala madrid";
cout<<str<<endl;
cout<<str.size()<<endl;//字符串长度size()和length(),两者功能基本相同for(int i=0;i<str.size();++i){
cout<<str[i]<<" ";//像数组那样通过元素下标访问}
cout<<str[6]<<endl;for(string::iterator it=str.begin();it!=str.end();++it){//通过迭代器访问,迭代器类似指针
cout<<*it<<" ";}puts("");
str.insert(str.size()," mia san mia");//在字符串长度下标处开始,插入新的字符串
cout<<str<<endl;
str.erase(0,12);//从下标0处开始,删除12个
cout<<str<<endl;
str.insert(0,"champion ");//在下标0处插入字符串
cout<<str<<endl;
str.erase(8);//从下标8处(含8)开始全删除
cout<<str<<endl;
str.clear();//字符串清空
cout<<str<<endl;
string str0="hala madrid";
string str1="to be";
string str2="not to be";
string str3="that is a question";
string str4=str1+",";//"to be ,"
str4=str4+str2+';';//"to be , not to be; "
str4+=str3;
cout<<str4<<endl;
string str5="abc";
string str6="abd";
string str7="bbc";if(str5<=str6) cout<<str5<<"<="<<str6<<endl;//字符串的比较if(str5<=str7) cout<<str5<<"<="<<str7<<endl;int index=str0.find("madrid");//在字符串中查找指定字符用find(),若找到返回起始对应下标,如找不到返回string::npos
cout<<index<<endl;//找到的话,返回的就是第一个找到的字符串的第一个字母的序号,没有找到就返回-1if(index!=string::npos) cout<<index<<" ";
index=str0.find('b');if(index==string::npos) cout<<"404 Not Found"<<endl;
string str8=str0.substr(3,5);//substr()返回字符串的子串函数。从第3个开始往后数5个:3.4.5.6.7
cout<<str8<<endl;return0;}/*
hala madrid
11
h a l a m a d r i d a
h a l a m a d r i d
hala madrid mia san mia
mia san mia
champion mia san mia
champion
to be,not to be;that is a question
abc<=abd
abc<=bbc
5
5 404 Not Found
a mad
Process returned 0 (0x0) execution time : 3.121 s
Press any key to continue.
*/