小豬豬逆襲成博士之C 基礎篇(三)字串

2022-08-16 23:24:09 字數 2281 閱讀 6235

string

寫在題外的話:

字串型別是我們經常用到的,下面介紹一些平時常用的功能。

string需要包含的標頭檔案:

#include

一、一些基本的操作

1、string 

的初始化大概有以下幾種:

string s1;

cout<<

"s1:"

<

string s2=

"aaa"

;cout<<

"s2:"

<

string s3(s2);

cout<<

"s3:"

<

string s4=s3;

cout<<

"s4:"

<

//string前10個都是b

string s5(10,

'b');

cout<<

"s5:"

<

string s6(

"ccc"

);cout<<

"s6:"

<

2、值得注意的是:如果

cin乙個字串,

string

物件會自動忽略開頭的空白,並從第乙個真正的字元開始讀起,例如我們輸入乙個「  

hello     world

」;會輸出

」hello」。

string s1;

cin>>s1;

cout<

那麼我們想保留這些空格怎麼辦,用

getline語句

string s1;

getline(cin,s1);

cout<<

"getline:"

<

這個地方的

getline(cin,s1);

cin不一定是

cin,任何一種輸入流都可以。

3、s1.empty();

//如果s1是空則返回flase,否則true;

s1.size();

//返回字元長度

這裡注意size()

返回的是乙個正整數,無符號的,所以根據第一章所述,不能跟負數一起操作!!!

4、判斷字串大小是根據字典順序的,例如

和boy

就是boy

大。string s1=

;string s2=

"boy"

;cout<<

"size:"

<

//判斷大小

if(s1>s2)cout<<

"s1 is bigger"

<

else

cout<<

"s2 is bigger"

<

5、加號兩個字串相接

s1=s1+s2;

cout<

6、取字元:注意這裡第乙個字元是0.

char

c=s1[4];

cout<<

"c:"

<

7、一些常用的函式:標頭檔案

#include

isalnum(c);

//判斷數字或者字母

isalpha(c);

//判斷字母

iscntrl(c);

//控制符

isdigit(c);

//數字

islower(c);

//小寫字母

isupper(c);

//大寫字母

isspace(c);

//空格

tolower(c);

//大寫轉小寫

toupper(c);

//小寫轉大寫

8、c風格字串

簡單的說,c

風格字串就是乙個

char

型的陣列。我們把這些字元放在陣列中,在最後乙個字元後面跟乙個』\0

』表示字串的結束。

c風格字串不要想多了,就是乙個

char

型的陣列,跟陣列的原理相同,並且適用

c風格字串函式:

strlen(p)

、strcmp(p1,p2)

、strcar(p1,p2)

、strcpy(p1,p2)

等。雖然是這樣,但是它本身還是個陣列。

string型可以轉化成

c風格字串,用

c_str()

可以轉化。當然了如果能用

string

型的話string

比char*

是方便了許多。

本命年小豬豬的2019大計

2019悄然而至,自家親姐送的兩套紅內衣,提醒著我的本命年到來。作為初入社會的本命年小豬豬,在網際網路寒潮中,鄭重立下些flag來完成自身的新年大計。開頭先做個自我介紹吧!我是小美萍,乙個文藝範兒的工科女,乙個曾因選擇了理科而跌破一眾教師的學生,倒不是因為自己理科慘不忍睹,而是因為自己文科更出色。大...

初識C 案例三隻小豬豬稱體重

三隻小豬稱體重是我學習c 遇到的第乙個困擾案例 關鍵就在於初學不能很好的運用if的巢狀,經常搞的頭昏 特別是在三隻小豬同等體重的情況下 後來我在看了 歲月蹉跎的一杯酒 這個大佬發的三隻小豬的文章後自己又想了想,覺得邏輯運算子是真的好用 剛開始建立三隻小豬的變數以及體重輸入儲存都不是問題 includ...

小豬豬C 筆記基礎篇(五)表示式 語句

本章的內容比較簡單,基本上沒有什麼理解上的困難,都是知識上的問題。先開始想要不要寫呢,本來是不準備寫的,但是既然讀了書就要做筆記,還是寫一寫,畢竟還是有點點收穫的東西。那麼,我只就一些容易弄糊塗和忽略的地方提出來,為日後變成作參考。一 表示式 一 概念 表示式時由乙個或者多個運算物件組成的,對乙個表...