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