一、string定義及其特點
在C++中,string是一種表示字符串的數據類型,其被定義在頭文件string中。相比於傳統的字符數組,它有以下特點:
1、string類型在聲明時無需指定長度,且可以動態調整長度。
2、string類型可以直接進行賦值、拷貝、比較等操作,使用起來更加方便。
3、string類型內置了多種操作函數,例如查找、替換、截取、插入等,可以極大的提高字符串處理效率。
因此,在實際開發中,string類型尤其是在字符串處理方面具有非常廣泛的應用。
#include #include using namespace std; int main() { string str("Hello, World!"); cout<<str<<endl; return 0; }
二、string的初始化方式
1、使用賦值運算符直接初始化
string str="This is a string";
2、使用構造函數初始化
通過傳入一個字符串(char *)初始化一個string對象:
string str1("This is a string");
通過傳入一個string對象(const string & )初始化一個string對象:
string str2(str1);
通過傳入字符串指針和字符串長度初始化一個string對象:
string str3("learn cpp programming", 12);
通過傳入n個重複的字符和個數初始化一個string對象:
string str4(5,'h');
3、使用迭代器初始化
string str5("Learning c++ programming"); string::iterator it1=str5.begin(); string::iterator it2=str5.end(); string str6(it1,it2);
4、使用”+”運算符或append函數連接字符串
string str7="Hello,"; string str8=" C++!"; string str9; str9=str7+str8; str7.append(str8);
三、常用的string操作函數
1、查找函數
find函數返回要查找的字符串在主字符串中的第一個字符位置,如果未查找到返回string::npos。rfind函數返回要查找的字符串在主字符串中的最後一個字符位置,如果未查找到返回string::npos。
string str="This is a test string"; size_t pos1=str.find("test"); size_t pos2=str.rfind("string");
2、替換函數
replace函數用於字符串替換,通過傳入要替換的位置和要替換的長度以及替換的字符串來完成替換操作。
string str="This is, a test string."; str.replace(5,2,"was"); cout<<str<<endl;
3、截取函數
substr函數可以從一個string中提取一個子串,參數為要提取的字符串的起始位置和長度。
string str="Learning c++ programming"; string substr=str.substr(9,6); cout<<substr<<endl;
4、插入函數
insert函數用於字符串的插入操作,通過插入位置和插入的字符串來完成操作。
string str="Learning programming!"; str.insert(9,"c++ "); cout<<str<<endl;
5、長度函數
length函數或size函數可以返回字符串的長度。
string str="Hello, World!"; cout<<str.length()<<endl;
四、string遍歷方式
1、通過下標遍歷
string str="Learning string"; for(int i=0;i<str.length();i++) cout<<str[i]<<" ";
2、通過迭代器遍歷
string str="Learning string"; for(string::iterator it=str.begin();it!=str.end();it++) cout<<*it<<" ";
通過本文的介紹,我們可以清晰地了解string的定義、初始化方式以及常用操作函數,相信這些知識在實際工作中能夠對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/236968.html