C++ STL標(biāo)準(zhǔn)庫(kù) string

//STL standard template libary 標(biāo)準(zhǔn)模(mu)板庫(kù) C++一部分,編譯器自帶

//Android NDK支持

//java.lang java.util包中API拇囊,java的一部分

這個(gè)東西毡惜,就相當(dāng)于是C++的一個(gè)插件代碼庫(kù)芯侥,里面有很多簡(jiǎn)化柑晒,或者說(shuō),跟JAVA非常類(lèi)似的元素宝与,NDK直接就支持這個(gè)庫(kù)喜滨,也就是說(shuō)捉捅,不需要在外面引包之類(lèi)的。 但是虽风,如果是用非CMAKE的形式開(kāi)發(fā)棒口,要用到STL里的元素,必須先申請(qǐng)需要使用STL辜膝,才行无牵。CMAKE則不需要作額外的申明。

如string厂抖,這個(gè)東西在C++中是沒(méi)有的茎毁,但在STL中定義了,就可以直接用,和JAVA幾乎一樣七蜘。

使用前谭溉,需要先引入string

#include<string>

using namespace std;

void main()

{

? ?//string由c字符串衍生過(guò)來(lái)的

? ?string s1 = "craig david";

? ?string s2("7 days");

? ?string s3 = s2;

? ?string s4(10,'a');

? ?cout << s4 << endl;

? ?system("pause");

}

這個(gè)string,就是STL中義的,是不是跟JAVA很像了橡卤?扮念?

還包括了一些方法,如 string.length();?

但這個(gè)string和C中的char* 還是不一樣的!故是需要轉(zhuǎn)換的碧库!

void main()

{

? ?//string -> char*

? ?string s1 = "walking away";

? ?const char* c = s1.c_str();

? ?printf("%s\n",c);

? ?//

? ?string s2 = c;

? ?//string->char[]

? ?//從string中賦值字符到char[]

? ?char arr[50] = {0};

? ?s1.copy(arr,4,0);

? ?cout << arr << endl;

? ?system("pause");

}

可以看出柜与,const char* c = s1.c_str(); 這個(gè)方法,可以將string型轉(zhuǎn)為char*型嵌灰,前面要加一個(gè)常量弄匕,不然會(huì)報(bào)錯(cuò)

string的拼接

string s1 = "alan";

string s2 = "jackson";

//1.

string s3 = s1 + s2;

string s4 = " pray";

//2.

s3.append(s4);

//字符串查找替換

void main()

{

string s1 = "apple google apple iphone";

//從0開(kāi)始查找"google"的位置

int idx = s1.find("google", 0);

cout << idx << endl;

//統(tǒng)計(jì)apple出現(xiàn)的次數(shù)

int idx_app = s1.find("apple",0);

//npos大于任何有效下標(biāo)的值

int num = 0;

while (idx_app != string::npos)

{

num++;

cout << "找到的索引:" << idx_app << endl;

idx_app+=5;

idx_app = s1.find("apple", idx_app);

}

cout << num << endl;

system("pause");

}

替換

void main()

{

string s1 = "apple google apple iphone";

//0-5(不包含5)替換為jobs

s1.replace(0, 5, "jobs");

cout << s1 << endl;

//所有apple替換為jobs

int idx = s1.find("apple", 0);

while (idx != string::npos)

{

s1.replace(idx, 5, "jobs");

idx += 5;

idx = s1.find("apple", idx);

}

cout << s1 << endl;

system("pause");

}

//刪除(截取)和插入

void main()

{

string s1 = "apple google apple iphone";

//刪除g沽瞭,找到g所在的指針

string::iterator it = find(s1.begin(),s1.end(),'g');

//只能刪除一個(gè)字符

s1.erase(it);

//開(kāi)頭末尾插入字符串

s1.insert(0, "macos");

s1.insert(s1.length(), " facebook");

cout << s1 << endl;

system("pause");

}

//大小寫(xiě)轉(zhuǎn)換

void main()

{

? ?string s1 = "JASON";

? ?//原始字符串的起始地址迁匠,原始字符串的結(jié)束地址, 目標(biāo)字符串的起始地址, 函數(shù)名稱(chēng)

? ?transform(s1.begin(), s1.end()-1,s1.begin(), tolower);

? ?cout << s1 << endl;

? ?transform(s1.begin(), s1.end() - 1, s1.begin(), toupper);

? ?cout << s1 << endl;

? ?system("pause");

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市秕脓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌儒搭,老刑警劉巖吠架,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異搂鲫,居然都是意外死亡傍药,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)魂仍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拐辽,“玉大人,你說(shuō)我怎么就攤上這事擦酌【阒睿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵赊舶,是天一觀的道長(zhǎng)睁搭。 經(jīng)常有香客問(wèn)我,道長(zhǎng)笼平,這世上最難降的妖魔是什么园骆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮寓调,結(jié)果婚禮上锌唾,老公的妹妹穿的比我還像新娘。我一直安慰自己夺英,他們只是感情好晌涕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布滋捶。 她就那樣靜靜地躺著,像睡著了一般渐排。 火紅的嫁衣襯著肌膚如雪炬太。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天驯耻,我揣著相機(jī)與錄音亲族,去河邊找鬼。 笑死可缚,一個(gè)胖子當(dāng)著我的面吹牛霎迫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播帘靡,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼知给,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了描姚?” 一聲冷哼從身側(cè)響起涩赢,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轩勘,沒(méi)想到半個(gè)月后筒扒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绊寻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年花墩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澄步。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冰蘑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出村缸,到底是詐尸還是另有隱情祠肥,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布梯皿,位于F島的核電站搪柑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏索烹。R本人自食惡果不足惜工碾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望百姓。 院中可真熱鬧渊额,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至奔垦,卻和暖如春屹耐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背椿猎。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工惶岭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人犯眠。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓按灶,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親筐咧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸯旁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容