tft每日頭條

 > 科技

 > c語言入門字符串

c語言入門字符串

科技 更新时间:2024-11-19 14:40:29

在C程序中,字符串是一種既特殊又常見的數據類型。它在内存中并不是以我們所理解的“字符串”所存儲,而是被分解成一個個字符 結束符(‘\0’)存放起來。字符串有兩種表現形式,分别是字符串指針和字符數組。

字符串指針

c語言入門字符串(C語言中的字符串還能這樣玩)1

字符數組

c語言入門字符串(C語言中的字符串還能這樣玩)2

注意:字符串是由多個字符以及一個結束符來表示的,如果沒有了結束符那麼這個就成為字符數組并不是字符串。

然而這上面兩個知識點并不是今天我要分享的重點,今天想給大家捋一捋C語言中一些常用的字符串處理函數,掌握以下這些函數,字符串處理基本上不愁了。

c語言入門字符串(C語言中的字符串還能這樣玩)3

strstr——“捉迷藏滿級選手”

strstr的作用是在一個字符串裡面尋找一個特定的子串,并把這個子串的地址給你返回。

c語言入門字符串(C語言中的字符串還能這樣玩)4

示例:

c語言入門字符串(C語言中的字符串還能這樣玩)5

strlen——“字符串的量尺”

這個函數是我們比較常用的,用于字符串長度的測量,測量結果不包括結束符哦。從man手冊中我們發現這個函數還隻有運行成功的返回值,沒有運行失敗的返回值,可能它比較強吧,覺得自己不會失敗。

c語言入門字符串(C語言中的字符串還能這樣玩)6

示例:

c語言入門字符串(C語言中的字符串還能這樣玩)7

strtok——“字符串界中的電鋸狂魔”

所謂電鋸狂魔,顧名思義就是用來分割字符串的。這個函數使用的時候要注意第一次使用的時候要給他目标字符串的地址,它切完第一次之後如果還想他繼續切割原來的字符串,要把地址改為NULL。這個函數的原理也比較粗暴,它直接在需要切割的地方把字符替換的‘\0’

c語言入門字符串(C語言中的字符串還能這樣玩)8

示例:

c語言入門字符串(C語言中的字符串還能這樣玩)9

strcpy——字符串複制小能手

這個函數還有個親兄弟strncpy,都是用于字符串複制的,不過它的兄弟要更強一些,可以規定複制多少個字節的内容。

c語言入門字符串(C語言中的字符串還能這樣玩)10

示例:

c語言入門字符串(C語言中的字符串還能這樣玩)11

strchr——“捉迷藏高級玩家”

和strstr差不多,strchr也是用來查找特定字符串裡面的特定字符,不過它可以查找字符串中第一個出現的指定字符,同樣地,他也有個兄弟strrchr是找最後一個出現的指定字符。

c語言入門字符串(C語言中的字符串還能這樣玩)12

strcmp——“找你妹外挂選手”

這個函數其實很一目明了,就是用來比較兩個字符串的。兩個字符串完全相同返回0,不同返回ascii碼差值。

c語言入門字符串(C語言中的字符串還能這樣玩)13

strcat——“字符串的外科醫生”

這個函數是用于字符串拼接的,把一個字符串的頭接到另外一個字符串的尾(‘\0’)上。

c語言入門字符串(C語言中的字符串還能這樣玩)14

示例:

c語言入門字符串(C語言中的字符串還能這樣玩)15

以上就是一些常用的字符串處理函數,除了這些之外其實還有很多比較好玩的字符串處理函數,感興趣可以用man手冊查查。

度白嵌入式,将持續給大家分享嵌入式知識,有志同道合的朋友可以關注交流~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved