1、獲取字串長度
標頭檔案:#include
函式的定義:size_t strlen(const char *s)
函式功能:
測字元指標s指向的字串中字元的個數,不包括"\0"
返回值:字串中字元個數
int
main
(int argc,
char
*ar**)
執行結果
s1_len =
5s1_size =
20
2、字串拷貝函式
標頭檔案:#include
函式的定義:char *strcpy(char *dest, const char *src)
函式說明:
拷貝src指向的字串到dest指標指向的記憶體中,"\0"也會拷貝
函式的返回值:
目的記憶體的位址
注意:在使用次函式的時候,必須保證dest指向的記憶體空間足夠大,否則會出現記憶體汙染
函式的定義:char *strncpy(char *dest, const char *src,size_t n)
函式的說明:
將src指向的字串前n個位元組,拷貝到dest指向的記憶體中
返回值:
目的記憶體的首位址
注意:1、strcpy不拷貝"\0"
2、如果n大於src指向的字串中的字元個數,則在dest後面填充n-strlen(src)個"\0"
int
main
(int argc,
char
*ar**)
執行結果
s1 = world
3、字串追加函式
標頭檔案:#include
函式定義: char *strcat(char *dest,const char *src)
函式功能:
strcat函式追加src字串到dest指向的字串的後面。追加的時候會追加"\0"
注意:保證dest指向的記憶體空間足夠大
函式定義: char *strncat(char *dest,const char *src,size_t n)
函式功能:
追加src指向的字串的前n個字元,到dest指向的字串的後面
注意:如果n大於src的字元個數,則只將src字串追加到dest指向的字串的後面,追加的時候會追加"\0"
int
main
(int argc,
char
*ar**)
執行結果
s1 = helloworld
4、字串比較函式
標頭檔案:#include
函式定義:int strcmp(const char *s1,const char *s2)
函式說明:
比較s1和s2指向的字串的大小
比較的方法:逐個字元去比較ascll碼,一旦比較出大小則返回。如果所有字元都一樣,則返回0
返回值:
如果s1指向的字串大於s2指向的字串 返回1
如果s1指向的字串小於s2指向的字串 返回-1
如果相等的話返回0
函式定義:int strncmp(const char *s1,const char *s2,size_t n)
函式說明:比較s1和s2指向的字串的前n個字元
int
main
(int argc,
char
*ar**)
else
if(ret >0)
else
return0;
}
執行結果
s1 < s2
5、字元查詢函式
標頭檔案:#include
函式定義:char *strchr(const char *s,int c)
函式說明:
在字元指標s指向的字串中,找到ascll碼為c的字元
注意:是首次匹配,如果說s指向的字串中有多個ascll為c的字元,則找的是第1個字元
返回值:
找到了返回找到的字元的位址
找不到返回null
函式定義:char *strrchr(const char *s,int c)
函式的說明:末次匹配
在s指向的字串中,找最後一次出現的ascll為c的字元
返回值:
末次匹配的字元的位址
int
main
(int argc,
char
*ar**)
else
return0;
}
執行結果
在第5個位置
6、字串匹配函式
標頭檔案:#include
函式定義:char *strstr(const char *haystack,const char *needle)
函式說明:
在haystack指向的字串中查詢needle指向的字串,也是首次匹配
返回值:
找到了:返回的字串的首位址
沒找到:返回null
int
main
(int argc,
char
*ar**)
else
return0;
}
執行結果
在第4個位置
7、字串轉換數值
atoi/atol/atof
標頭檔案:#include
函式的定義:int atoi(const char *nptr)
函式的功能:
將nptr指向的字串轉換成整數,返回
int
main
(int argc,
char
*ar**)
執行結果
ret =
123456789
8、字串切割函式
標頭檔案:#include
函式定義:char *strtok(char *str,const char *delim)
函式功能:
字串切割,按照delim指向的字串中的字元,切割str指向的字串。其實就是在str指向的字串中發現了delim字串中的字元,就將其變成"\0",呼叫一次strtok只切割一次,切割一次之後,再去切割的時候strtok的第乙個引數傳null,意思是接著上次切割的位置繼續切
注意:如果str字串**現了連續的幾個delim中的字元,則只將第乙個字元變成"\0"
int
main
(int argc,
char
*ar**)
執行結果
ret =
123
9、格式化字串操作函式
int sprintf(char *buf,const char *format,…) //輸出到buf指定的記憶體區域
int sscanf(const char *buf,const char *format,…)
int
main
(int argc,
char
*ar**)
執行結果
buf =
2020:9
:9a =2020
,b =
9,c =
9
10、const
(1) 修飾普通變數,代表唯讀的意思
const int a = 100;//定義了乙個唯讀變數a值為100
以後程式中,不能再給a賦值了
(2) const 修飾指標
const char *str
意思是str指向的記憶體的內容不能通過str來修飾
用來保護str指向的記憶體的內容
但是str的指向是可以改變的
char *strcpy(char *dest,const char *str)
如果const修飾指標變數的型別,無法通過指標變數修改位址裡面的值const int * p如果const修飾指標變數,無法修改指標變數儲存的位址int * const p
如果const既修飾指標變數的型別,又修飾指標變數,則只能通過原本修改值const int * const p
c語言 常見字串操作函式
函式名 strcpy 功 能 將引數src字串拷貝至引數dest所指的位址 用 法 char strcpy char dest,const char src 返回值 返回引數dest的字串起始位址 說 明 如果引數dest所指的記憶體空間不夠大,可能會造成緩衝溢位的錯誤情況,在編寫程式時需特別留意,...
python常見字串操作
str hello world print str.upper 把所有字元中的小寫字母轉換成大寫字母 print str.lower 把所有字元中的大寫字母轉換成小寫字母 print str.capitalize 把第乙個字母轉化為大寫字母,其餘小寫 print str.title 把每個單詞的第乙...
python常見字串操作
附 python2.x和python3.x中raw input 和input 區別 備註 1 在python2.x中raw input 和input 兩個函式都存在,其中區別為 raw input 將所有輸入作為字串看待,返回字串型別 input 只能接收 數字 的輸入,在對待純數字輸入時具有自己的...