有關字元陣列和字串的函式

2021-07-05 18:13:32 字數 2394 閱讀 6370

字串可以用字元陣列與字串變數兩種方式來儲存,效果類似。

一、用字元陣列來儲存字串:

char st1[100],st2[100] ; //字元陣列說明

cin>>st1>>st2;

long a,b;

輸入:hello, world

則st1=

st2=

字元』\0』為字串結束標誌

1. 字元陣列長度

strlen(st1); //如a=strlen(st1);b=strlen(st2); 則a=6,b=5

2. 字元陣列比較

不能直接比較,st1>st2是錯誤的,要用strcmp()函式

strcmp(st1,st2); //st1=st2相等則輸出0,st1 < st2輸出-1,st1>st2輸出1

strncmp(st1,st2,n); 把st1,st2的前n個進行比較。

3. 連線字元陣列

不能直接用st1=st1+st2;用strcat()函式

strcat(st1,st2); //將st1和st2連線後賦給st1,本例連線後st1為」hello,world」

strncat(st1,st2,n); n表示連線上st2的前n個給st1,在最後不要加』\0』。

4. 替換

strcpy(st1,st2); //用st2的值替換st1的值,字元陣列不能如此賦值st1=st2或st1=st2都是錯誤的

本例中st1值被替代為」world」

strncpy(st1,st2,n); n表示複製st2的前n個給st1,在最後要加』\0』。

5. 其他函式

strchr(st1,ch) //ch為要找的字元。如strchr(st1,』e』);會截取出st1中以字母』e』開頭的字串,要用string型別的來儲存,如string c1; c1=strchr(st1,』e』); 則c1為」ello」

strspn(st1,st2); //返回st1起始部分匹配st2中任意字元的字元數。本例中」hello,」中的第乙個字元』h』不能在」world」中找到匹配字元,因此返回值為0。如st1=」rose」;st2=」worse」;則返回值為4,因為rose在worse中都能找到匹配字元。

strrev(); //顛倒字串

二、用字串來儲存字串

string str1,str2; cin>>str1>>str2;

//如輸入「hello, world」則str1=」hello,」 str2=」world」

可直接賦值: str1=str2;

1. 字串長度

len = str1.length();

2. 字串比較

可以直接比較,即str1>str2;str1==str2;等

3. 連線

可以直接連線,即str1 += str2;等

4. 字串提取

str2 = str1.substr(); //str2值被賦值為str1

str2 = str1.substr(pos1); //如str2=str1.substr(2);則str2=」llo」;

str2=str1.substr(pos1,len1); //提取指定位置指定長度的字串,如str2=str1.substr(1,2) ;則str2=」el」

5. 字串搜尋

where = str1.find(str2); //返回str2是在str1中的最先被找到的位置

where = str1.find(str2,pos1); pos1是從str1的第幾位開始。

where = str1.rfind(str2); 從後往前搜。

6. 插入字串

不是賦值語句。

str1.insert(pos1,str2); //如str1.insert(2,str2)則str1=」heworldllo,」

str1.insert(pos1,str2,pos2,len2);

str1.insert(pos1,numchar,char); numchar是插入次數,char是要插入的字元。

7. 替換字串

str1.replace(pos1,str2);

str1.replace(pos1,str2,pos2,len2);

8. 刪除字串

str.erase(pos,len)

str.clear();

9. 交換字串

swap(str1,str2);

注意:1.要包含標頭檔案#include

2.在有些場合下用字元陣列char st1[100]比string st2還好用些,可根據具體情況作不同選擇。

3.在讀入乙個含有空格的字串時用cin是不行的(cin讀字串或字元陣列時,自動以空格或回車作為分格符)

字串和字串陣列

字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...

js的字串有關函式

js的字串有關函式 1.asc x chr x 轉換字元,字元碼 2。filter 搜尋字串陣列中的特定字串 格式 v filter x,s include compare 例項 dim x dim v v filter x,kj 結果v 0 kjwang v 1 wangkj v filter x...

有關字串的幾個函式

1.strlen 測量字串的長度 include define n 100 int my strlen char str return count int main 2.strcpy 複製字串 include define n 100 char my strcpy char str,char des...