一級目錄
輸入字元
cin>>;//不得輸入空格
a=getchar();//可輸入空格
可輸入空格
gets(a);
fgets(a,sizeof(a),stdin);
注意:當使用gets()和fgets()給字元陣列賦值時,前面如果使用過cin輸入,則需要getchar()吸收上一次輸入時剩下的回車
isdigit(int c)//判斷是否為數字標頭檔案:#include (vs2019中iostream也可以)isalpha(int c)//判斷是否為a~z a~z
isalnum(int c)//判斷是否是數字或a~z a~z
【引數】c 為需要檢測的字元。
【返回值】若引數c 為字母或數字,若 c 為 0 ~ 9 a ~ z a ~ z 則返回非 0,否則返回 0。
注意,isalnum()為巨集定義,非真正函式。
注意:連線前後b字串不清空
(vs2019 需要加上_s)
sizeof計算的是變數實際計算的記憶體空間的大小
strlen計算的是字串遇到的第乙個』\0』結尾符的長度
substr(引數2[,引數3]);
注意:必須是string型別
定義 substr(2)strstr(僅用於char型別&&vs2019中不需要_s)方法用於返回乙個從指定位置開始的指定長度的字串
語法 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的前兩個字元
注意:函式結果是位址,需要指標變數儲存,且輸出位置時候-字串的首位址
適用於字元陣列和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 就是個回文子串。...