這篇文章主要介紹“C++中常用的string類字符串函數(shù)有哪些”,在日常操作中,相信很多人在C++中常用的string類字符串函數(shù)有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++中常用的string類字符串函數(shù)有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)主營沙洋網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),沙洋h5重慶小程序開發(fā)搭建,沙洋網(wǎng)站營銷推廣歡迎沙洋等地區(qū)企業(yè)咨詢
常用的字符串函數(shù)包括:復(fù)制、拼接、查找字符、截短、反轉(zhuǎn)、大小寫轉(zhuǎn)換等。使用這些字符串函數(shù),能夠輕松的解決很多字符串操作問題,并且使你的代碼變得更加簡潔可讀。
要將兩個字符串拼接在一起,可以使用運算符+=,也可以使用成員函數(shù)append():
#include<iostream>#include<string>using namespace std;int main(){ string s1("I love"); string s2(">);//方法1:+= s1+=s2; cout<<s1<<endl;//方法2:append() string s3(" I love you very much!"); s1.append(s3); cout<<s1<<endl;return 0;}
string類的成員函數(shù)find,可以用來查找字符串中的字符和子字符串,比如:
//從索引為n的位置開始,查找字符串s1中的子串s2,并返回給pos。(其中,s2可以是字符也可以是子字符串)int pos=s1.find(s2,n);
#include<iostream>#include<string>using namespace std;int main(){ string s1("I love you! and do you love me?"); cout<<"s1:"<<s1<<endl;//1.從最開始處開始搜索,返回字符串love第一次出現(xiàn)的位置 size_t position= s1.find("love",0);if(position!=string::npos) //string:npos實際值為-1,表示沒有找到要搜索的元素 cout<<"字符串love第一次出現(xiàn)的位置:"<<position<<endl;else cout<<"字符串love沒有被找到"<<endl; //2.返回所有子字符串的位置 cout<<"字符串love出現(xiàn)的所有位置:"; size_t all_pos=s1.find("love",0);while(all_pos!=string::npos){ cout<<all_pos<<" "; size_t search_pos=all_pos+1; all_pos=s1.find("love",search_pos); //返回子字符串出現(xiàn)的位置 } return 0;}
(1)給定偏移位置(刪除的起始位置)和要刪除的字符個數(shù)。
string s1 = "I love you very much!"s1.erase(2,4); //從索引號2開始,刪除4個字符,即刪掉love。
(2)在給定指向字符的迭代器時刪除該字符
//刪除字符串s1中的所有的字符'I'#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){ string s1("I love you! and do you love me?"); string::iterator pos = find(s1.begin(),s1.end(),'I'); //找到字符'I'的位置給迭代器if(pos!=s1.end()) s1.erase(pos); //依次刪除迭代器指向的字符 cout<<s1<<endl;return 0;}
(3)在給定兩個迭代器指定的范圍時,刪除該范圍內(nèi)的字符
s1.erase(s1.begin(),s1.end());
所謂反轉(zhuǎn),就是首位倒序存放。比如要判斷某字符串是否是回文串,就可以將其反轉(zhuǎn),再與原來的字符串進行比較。
#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){ string s1("I love you!");reverse(s1.begin(),s1.end()); //將s1進行反轉(zhuǎn) cout<<s1;return 0;}
//1.將字符串s1轉(zhuǎn)換為大寫transform(s1.begin(),s1.end(),s1.begin(),toupper);//2.將字符串s1轉(zhuǎn)化為小寫transform(s1.begin(),s1.end(),s1.begin(),tolower);
到此,關(guān)于“C++中常用的string類字符串函數(shù)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當前標題:C++中常用的string類字符串函數(shù)有哪些
網(wǎng)站路徑:http://www.chinadenli.net/article6/gehgig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、面包屑導(dǎo)航、網(wǎng)站設(shè)計、微信小程序、網(wǎng)站改版、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)