C C 中string的函式用法

2021-08-25 02:40:58 字數 1672 閱讀 6179

c標準中string函式:

strlen(p) ----返回p的長度;

strcmp(p1,p2)----比較p1,p2的相等性。如果p1==p2,返回0;如果p1>p2,返回乙個正值;如果p1strcat(p1,p2)----將p2附加到p1之後,返回p1;

strcpy(p1,p2)----將p2拷貝給p1,返回p1。

string s1;    //預設初始化

string s2=s1;  // s2是s1的副本

string s3="hiya";  //s3是該字串字面值的副本

string s5("hiya");  //s5是hiya的副本

string s4=(10,'c');  //s4的內容是10個c

oss.empty()        s為空返回true,否則返回false

s.size()            返回s中的字元個數

s[n]                 返回s中第n個字元的引用,位置n從0開始計起

s1+s2             連線

s1=s2             將s2賦給s1

s1==s2          如果s1和s2中所含的字元完全一樣,則他們相等;string物件的相等性判斷對字母的大小寫敏感

s1!=s2           

<, ,=, >,>=    利用字母在字典序的順序進行比較,且對字母的大小寫敏感

eg:

string s;

getline(cin,s);

cout在<,<=,>,>=的比較的原則:按字典序來排序:

如果2個字串長度不一樣,但其他的都相等,就是長的字串大於短的字串;

如果2個字串在某些位置對不上,就會比較第一對出現不同的字元,返回相應的結果。

string物件相加其實就是連線的作用;

c++的相容性  只要保證加法符號的一邊有乙個是string物件;

切記:c++語言中的字串字面值並不是標準庫型別string物件。一定要記得字串字面值與string是不同的型別。

在cctype標頭檔案中有一些處理字元的函式,我列舉比較能用到的

isalnum(c)  當c是字母或者數字時為真

isalpha(c)   當c是字母時為真

isdigit(c)    當c是數字時為真

isgraph(c)  當c不是空格但可列印時為真

ispunct(c)  當c是標點符號時為真

isspace(c)  當c是空白時為真

isupper(c) 當c是大寫字母時為真

isxdigit(c) 當c是16進製制字母時為真

toupper(c)  如果c是小寫,則返回大寫字母,如果是大寫則原樣輸出

tolower(c)   如果c是大寫字母,則返回小寫字母,如果是小寫字母則原樣輸出

2. 處理每個字元使用範圍for迴圈

eg:   

//不改變str:

string str("some string");

for(auto c: str)

cout<

//改變str:

string str("hello world!!!");

for(auto &c : str)

c=toupper(c)

cout<

C C 中rand()函式的用法

一 c 中不能使用random 函式 random函式不是ansi c標準,不能在gcc,vc等編譯器下編譯通過。但在c語言中int random num 可以這樣使用,它返回的是0至num 1的乙個隨機數。可改用c 下的rand函式來實現。1 c 標準函式庫提供一隨機數生成器rand,返回0 ra...

CC 中sizeof函式的用法

c c 中sizeof 函式的用法 學習c c 有時會遇到下面的情況 已知 char str1 absde char str2 absde char str3 8 char str4 0123456789 為什麼sizeof str1 4 sizeof str2 6 sizeof str3 8 si...

c c 中庫函式sort的用法

要呼叫sort函式需包含標頭檔案,可以直接對陣列進行排序,時間複雜度為o nlogn 這個函式可以傳2個或3個引數,第乙個引數是待排序的首位址,第二個引數是區間尾位址的下一位址。也就是說,排序的區間為 a,b 對於a n 0.n 1 只需寫sort a,a n 即可實現對a 0 a n 1 的排序,...