string對象的操作:
size():用來獲取字符串的長度。
輸出字符串s的長度:
string s("hello world!\n");
cout<<"the size of '"<<s<<"' is"<<s.size()<<endl;
判斷字符串是否為空的兩種方式:
if(s.size()==0)
{
cout<<"s.size==0"<<endl;
}
if(s.empty())
{
cout<<"s.empty()"<<endl;
}
獲得字符串長度:
int num=s.size(); 使用整形接收字符串長度可能會有問題,因為int變量的表示范圍太小,有時不能存儲string對象的長度。使用string::size_type類型可以滿足要求,這種類型是unsigned的,這比signed類型要大一倍。事實上size()函數返回的也是 size_type 類型。
關系運算:
可以使用:s1==s2;s1>s2;s1<s2,來比較兩個字符串。
賦值運算:
string snew="empty";
snew=s1;
上面代碼首先初始化一個snew字符串,第二句將snew占用的內存釋放掉,然后給snew足夠存放s1副本的內存空間,最后把s1中所有的字符復制到新分配的內存空間。
字符串連接:
cout<<s1+"."<<endl; OK
cout<<"1"+s1<<endl; OK
cout<<s1+s2<<endl; OK
cout<<s1+s2+"."<<endl; OK
//cout<<"hello"+"jiajia"<<endl; ERROR
當進行string對象和字符串字面值混合連接操作時,+操作符的左右操作數必須至少有一個是string類型的。
通過下標訪問string對象:
string對象下標從0開始。
for(string::size_type ix=0;ix<s1.size();ix++)
{
s1[ix]+=ix;
}