C++標(biāo)準(zhǔn)模板庫(kù)string類的介紹與使用講解
介紹
c++中字符串string對(duì)象屬于一個(gè)類,內(nèi)置了很多實(shí)用的成員函數(shù),操作簡(jiǎn)單,方便更直觀。
命名空間為std,所屬頭文件<string> 注意:不是<string.h>。
跟進(jìn)代碼會(huì)發(fā)現(xiàn)string其實(shí)只是basic_string模板類的一個(gè)typedef。
賦值
//方法1 string str1 = "woniu201"; //方法2 char* p = "woniu201"; string str2 = p;
遍歷
//方法1 使用下標(biāo)
for (int i=0; i<str1.length(); i++)
{
printf("%c", str1[i]);
}
//方法2 使用迭代器
string::iterator it;
for (it=str1.begin(); it!=str1.end(); it++)
{
printf("%c", *it);
}
查找
string str5 = "woniu201";
int pos1 = str5.find("n", 0); //從位置0開始查找字符n在字符串str5中的位置
int pos2 = str5.find("niu", 0); //從位置0開始查找字符串niu在字符串str5中的位置
int pos3 = str5.find("niu", 0, 2);//從位置0開始查找字符串niu前兩個(gè)字符組成的字符串在str5中的位置
截取
string str3 = "woniu201"; string str4 = str3.substr(0,5);//返回從下標(biāo)0開始的5個(gè)字符組成的字符串
其他
//字符串連接
string str6 = "woniu201";
string str7 = "hailuo201";
string str8 = str6 + str7;
//判斷是否相等
bool bRet1 = (str6 == str7); //相等為true,否則為false
//判斷字符串是否為空
bool bRet2 = str6.empty();
//字符串插入
string str9 = str6.insert(0, str7); //字符串str6的0位置插入字符串str7
//字符串交換
str6.swap(str7);
//判斷是否包含
string::size_type idx = str6.find("woniu");
if(idx == string::npos)
{
cout << "not found" << endl;
}
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
C語(yǔ)言演示對(duì)歸并排序算法的優(yōu)化實(shí)現(xiàn)
這篇文章主要介紹了C語(yǔ)言演示對(duì)歸并排序算法的優(yōu)化實(shí)現(xiàn),歸并排序的最差時(shí)間復(fù)雜度為(n\log n),最優(yōu)時(shí)間復(fù)雜為(n),存在可以改進(jìn)的空間,需要的朋友可以參考下2016-05-05
C++11 移動(dòng)構(gòu)造函數(shù)的使用
本文主要介紹了C++11 移動(dòng)構(gòu)造函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
C語(yǔ)言修煉之路靈根孕育源流出?初識(shí)C言大道生上篇
C語(yǔ)言是一門面向過(guò)程、抽象化的通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開發(fā)。C語(yǔ)言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言2022-03-03
C語(yǔ)言詳細(xì)講解if語(yǔ)句與switch語(yǔ)句的用法
用 if 語(yǔ)句可以構(gòu)成分支結(jié)構(gòu),它根據(jù)給的條件進(jìn)行判定,以決定執(zhí)行哪個(gè)分支程序段,C 語(yǔ)言中還有另外一種分支語(yǔ)句,就是 switch 語(yǔ)句2022-05-05
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之單鏈表存儲(chǔ)詳解
鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文將和大家一起聊聊C語(yǔ)言中單鏈表的存儲(chǔ),感興趣的可以學(xué)習(xí)一下2022-07-07
C語(yǔ)言實(shí)現(xiàn)memcpy函數(shù)的使用示例
在C語(yǔ)言中,我們可以自己實(shí)現(xiàn) memcpy 函數(shù)來(lái)實(shí)現(xiàn)內(nèi)存數(shù)據(jù)的拷貝操作,本文就來(lái)介紹一下C語(yǔ)言實(shí)現(xiàn)memcpy函數(shù)的使用示例,感興趣的可以了解一下2023-09-09

