1、string
為企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)營(yíng)銷推廣、競(jìng)價(jià)托管、品牌運(yùn)營(yíng)等營(yíng)銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營(yíng)銷運(yùn)營(yíng)團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營(yíng)銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營(yíng)銷獲客難題,做到“讓獲客更簡(jiǎn)單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營(yíng)銷”三大難題,同時(shí)降低了營(yíng)銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
string的初始化,在C++中字符串是一種數(shù)據(jù)類型;
(1)、string的初始化,遍歷,字符串連接
代碼如下:
#include<iostream> #include<string> #include<stdio.h> using namespace std; int main(void){ //string的初始化,在C++中字符串是一種數(shù)據(jù)類型; string s1 = "abcdefg"; string s2("abcdefg"); string s3(s2); string s4 = s1; //調(diào)用拷貝構(gòu)造函數(shù); string s5(10, 'a');//10個(gè)空間中的字符都是'a'; s5 = s1; cout<<"s3:"<<s3<<endl; cout<<"s5:"<<s5<<endl; //string的遍歷,重載了[]操作符; //1、數(shù)組方式遍歷[] for(int i = 0; i < s1.length(); i++){ cout<<s1[i]<<" "; //出現(xiàn)錯(cuò)誤(下標(biāo)越界),不會(huì)向外面剖出異常,引起程序的中斷; } cout<<endl; //2、迭代器 string::iterator it; for(it = s1.begin(); it != s1.end(); it++){ cout<<*it<<" "; } cout<<endl; //3、函數(shù)at()遍歷 for(int i = 0; i < s1.length(); i++){ cout<<s1.at(i)<<" "; //會(huì)剖出異常,合理的解決下標(biāo)越界; } cout<<endl; //字符指針和string的轉(zhuǎn)換 //此時(shí),把s1====>char * 把內(nèi)存首地址給露出來(lái); printf("s1:%s \n", s1.c_str()); //s1中的內(nèi)容拷貝到buf中; char buf[123] = {0}; s1.copy(buf, 2, 0);//n, pos;下標(biāo)從0開(kāi)始拷貝2個(gè)字符到buf中,不會(huì)是C風(fēng)格的,注意自己加上0結(jié)束標(biāo)志; cout<<buf<<endl; //string子符串的連接 s1 = s1 + s2; //直接+就表:字符串的連接; s1 += s2; //+=也是字符串的連接; s1.append(s4); //調(diào)用方法append()也是字符串的連接; cout<<s1<<endl; return 0; }
運(yùn)行結(jié)果:
(2)、string的查找,替換
代碼如下:
#include<iostream> #include<string> #include<string.h> using namespace std; int main(void){ //字符串的查找和替換 string s1 = "wbm hello wbm 111 wbm 222 wbm 333"; //1、第一次出現(xiàn)wbm的下標(biāo) int index = s1.find("wbm", 0); cout<<"index :"<<index<<endl; //2、求wbm每一次出現(xiàn)的數(shù)組下標(biāo) /* int offindex = s1.find("wbm", 0); while(offindex != -1){ cout<<"offindex :"<<offindex<<endl; offindex += strlen("wbm"); offindex = s1.find("wbm", offindex); }*/ //3、把小寫(xiě)wbm換成大寫(xiě) int offindex = s1.find("wbm", 0); while(offindex != -1){ cout<<"offindex :"<<offindex<<endl; s1.replace(offindex, strlen("wbm"), "WBM"); //從下標(biāo)offindex開(kāi)始,刪除n個(gè)字符,替換為后面的字符; offindex += strlen("wbm"); offindex = s1.find("wbm", offindex); } cout<<"s1:"<<s1<<endl; string s3 = "aaa bbb ccc"; s3.replace(0, 3, "AAA"); //替換的函數(shù); cout<<"s3:"<<s3<<endl; return 0; }
運(yùn)行結(jié)果:
(3)、區(qū)間的刪除和插入
代碼如下:
#include<iostream> #include<string> #include<algorithm> using namespace std; int main(void){ //區(qū)間刪除和插入 string s1 = "hello1 hello2 hell03"; string::iterator it = find(s1.begin(), s1.end(), 'l'); if(it != s1.end()){ s1.erase(it); //刪除算法; } cout<<"s1 :"<<s1<<endl; s1.erase(s1.begin(), s1.end()); //刪除從pos開(kāi)始的n個(gè)字符; cout<<"s1全部刪除:"<<s1<<endl; cout<<"s1的長(zhǎng)度:"<<s1.length()<<endl; string s2 = "BBB"; s2.insert(0, "AAA"); //頭插法 s2.insert(s2.length(), "CCC");//尾插法 cout<<s2<<endl; return 0; }
運(yùn)行結(jié)果:
(4)、string的大小寫(xiě)轉(zhuǎn)換-->函數(shù)指針
代碼如下:
#include<iostream> #include<string> #include<algorithm> using namespace std; int main(void){ string s1 = "AAAbbb"; transform(s1.begin(), s1.end(), s1.begin(), 0, toupper);//toupper可以是:函數(shù)的入口地址,函數(shù)對(duì)象, cout<<s1<<endl; string s2 = "AAAbbb"; transform(s2.begin(), s2.end(), s2.begin(), 0, tolower); cout<<s2<<endl; return 0; }
文章名稱:C++中string數(shù)據(jù)類型
網(wǎng)址分享:http://jinyejixie.com/article44/iicdhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站排名、網(wǎng)站內(nèi)鏈、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)