字串 總結

2021-10-12 16:23:05 字數 2112 閱讀 5447

一級目錄

輸入字元

cin>>;//不得輸入空格

a=getchar();//可輸入空格

可輸入空格

gets(a);

fgets(a,sizeof(a),stdin);

注意:當使用gets()和fgets()給字元陣列賦值時,前面如果使用過cin輸入,則需要getchar()吸收上一次輸入時剩下的回車

isdigit(int c)//判斷是否為數字

isalpha(int c)//判斷是否為a~z a~z

isalnum(int c)//判斷是否是數字或a~z a~z

標頭檔案:#include (vs2019中iostream也可以)

【引數】c 為需要檢測的字元。

【返回值】若引數c 為字母或數字,若 c 為 0 ~ 9 a ~ z a ~ z 則返回非 0,否則返回 0。

注意,isalnum()為巨集定義,非真正函式。

注意:連線前後b字串不清空

(vs2019 需要加上_s)

sizeof計算的是變數實際計算的記憶體空間的大小

strlen計算的是字串遇到的第乙個』\0』結尾符的長度

substr(引數2[,引數3]);

注意:必須是string型別

定義 substr

方法用於返回乙個從指定位置開始的指定長度的字串

語法 stringobject.substr(start, length)

引數 描述

start 必須。所需的字串的其實位置,字串中的第乙個字元的索引為0

length 可選。在返回到額字串中應包括的字元個數

說明:如果start為負數,則start = str.length+start

如果length 為0 或者負數,將返回乙個空字串

如果沒有指定該引數,則字串將延續到stringobject的最後

str1.find(str2);//從串str1中查詢時str2,返回str2中首個字元在str1中的位址

str1.find(str2,5);//從str1的第5個字元開始查詢str2

str1.find(「str2」,2 , 2);//從str1中的第二個字元開始查詢of big的前兩個字元

(2)strstr(僅用於char型別&&vs2019中不需要_s)

注意:函式結果是位址,需要指標變數儲存,且輸出位置時候-字串的首位址

適用於字元陣列和int陣列

memset(陣列名,初始化的值,長度《這裡可以用sizeof()進行全部初始化》);

1.函式呼叫時:不像字元陣列需要指標,人家可以整體呼叫過去(相當於是變數傳值,傳值呼叫,但是不能返回)

eg.統計字串中個字元型別的數目:

#include

#include

using

namespace std;

int blank=

0, topper=

0, lowwer=

0, else=0;

intmain()

void

select

(string a)

//重點

}

(1 全部初始

字串總結?

其實就是模板彙總好伐 1 字串hash 可以解決一切字串問題。複雜度成迷。include using namespace std define maxn 10000 define read x scanf d x define maxm 1500 define ull unsigned long l...

字串總結

字串輸入輸出 getchar 與putchar include include using namespace std int main 兩種輸入方式 scanf c x 只讀取乙個字元 scanf s x 遇到空格,換行才會停止 cin與scanf s x 的作用大致相同 c char st 10...

字串總結

1 找出回文子串 分析 對於回文子串,最深的印象就是正序和倒序產生的字元相同。其實更深刻的表述方式應該是去除首尾字元後,裡面的依然是個回文子串。這一點也是我沒有想到的。利用動態規劃,相當於乙個遞迴歸納的想法,只要s i 1 j 1 是個回文子串,那麼在s i s j 時,s i j 就是個回文子串。...