C语言常用字符串操作函数大全详解(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等)
參考:string.h中常用字符串操作函數說明(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等)
作者:一只青木呀
發布時間: 2020-09-19 13:57:48
網址:https://blog.csdn.net/weixin_45309916/article/details/108679027
目錄
- 前言
- 字符串函數大全
- 字符串函數詳解
- memchr
- memcmp
- memcpy
- memmove
- memset
- strcat
- strchr
- strcmp
- strcoll
- strcpy
- strcspn
- strerror
- strlen
- strncat
- strncmp
- strncpy
- strpbrk
- strrchr
- strspn
- strstr
- strtok
- strxfrm
前言
C語言標準庫中一個常用的頭文件,在使用到字符數組時需要使用。string .h 頭文件定義了一個變量類型、一個宏和各種操作字符數組的函數。
使用時都需要加上頭文件
string.h字符串函數大全
| memchr | 在內存塊中定位字符的位置還有相似函數memrchr和rawmemchr |
| memcmp | 把兩個內存塊的內容進行比較。 |
| memcpy | 復制內存塊的內容 |
| memmove | 移動內存塊中的內容 |
| memset | 以字節方式填充內存塊 |
| strcat | 把一個字符串后追加到另一個字符串后 |
| strchr | 在字符串中查找一個字符的第一個位置指針 |
| strcmp | 比較兩個字符串(ASCII) |
| strcoll | 比較兩個字符串(根據指定的 LC_COLLATE) |
| strcpy | 復制字符串 |
| strcspn | 在一個字符串中查找另一個字符串中的第一個出現的字符的位置 |
| strerror | 解釋錯誤代碼 |
| strlen | 返回字符串長度 |
| strncat | 把一個字符串的 n 個字符后追加到另一個字符串后 |
| strncmp | 比較兩個字符串的前 n 個字符(ASCII) |
| strncpy | 復制字符串中的前 n 個字符 |
| strpbrk | 查找字符串中第一個出現的屬于另一個字符串的任意字符的指針 |
| strrchr | 查找字符串中一個字符的出現的最后位置 |
| strspn | 計算字符串的從開頭起符合另一個字符串的連續字符個數 |
| strstr | 在一個字符串中查找另一個字符串 |
| strtok | 根據指定字符集分割一個字符串 |
| strxfrm | 根據當前環境轉化字符串,將轉化后的前 n 個字符復制給另一個字符串 |
字符串函數詳解
memchr
- 函數原型:
-
功能:在參數 s 所指向的內存塊的前 n 個字節中搜索第一次出現字符 c(一個無符號字符)的位置,并返回相應的指針。
-
返回值:找到返回相應的指針,否則返回 NULL。
-
demo:
- 運行結果:
memcmp
- 函數原型:
-
功能:memcmp()函數比較內存區域s1和s2的前n個字節(每個都被解釋為無符號字符)。
-
返回值:返回一個指向dest的指針。
| 大于零 | ptr1 < ptr2 |
| 等于零 | ptr1 == ptr2 |
| 小于零 | ptr1 > ptr2 |
- demo:
- 運行結果
memcpy
- 函數原型:
-
函數功能:從內存區src復制n個字節到內存區dest。內存區不能重疊。只會覆蓋。
-
返回值:返回一個指向dest的指針。
-
demo:
- 運行結果
memmove
- 函數原型:
-
函數功能:memmove()函數將n個字節從內存區域src拷貝到內存區域dest。這些內存區域可能重疊:復制發生在
雖然src中的字節首先被復制到一個不重疊src或dest的臨時數組中,然后到dest的臨時數組。 -
返回值:返回一個指向dest的指針。
-
demo
- 運行結果
memset
- 函數原型
-
函數功能:用常量字節c填充s指向的內存區域的前n個字節。
-
返回值:返回一個指向內存區域s的指針。
-
demo
- 運行效果
strcat
- 函數原型:
-
函數功能:將 src 中的內容追加到 des中。
-
返回值:返回 des指針。
-
demo:
- 運行結果
strchr
- 函數原型:
-
函數功能:返回 s中的 c出現的第一個位置的指針。
-
返回值:如果找到,返回 s中的 c出現的第一個位置的指針;否則返回 NULL。
-
demo:
- 運行效果
strcmp
- 函數原型:
-
功能:比較字符串 str1 和 str2 的字典序大小(ASCII)。
-
返回值:
| 小于零 | str1 < str2 |
| 等于零 | str1 == str2 |
| 大于零 | str1 > str2 |
- demo:
- 運行效果
strcoll
- 函數原型:
-
功能:默認情況下(LC_COLLATE 為 “POSIX” 或 “C” )和 strcmp 一樣根據 ASCII 比較字符串大小。對于設置了 LC_COLLATE 語言環境的情況下,則根據 LC_COLLATE 設置的語言排序方式進行比較。例如:漢字,根據拼音進行比較
-
返回值:
| 小于零 | str1 < str2 |
| 等于零 | str1 == str2 |
| 大于零 | str1 > str2 |
- demo:
- 運行結果
strcpy
- 函數原型:
-
功能:將 src的內容復制給 des,需要保證 des足夠容納 src的空間
-
返回值: 返回 des。
-
demo:
- 運行效果
strcspn
- 函數原型:
-
功能:返回 s 中出現的第一個屬于 accept 的字符的位置。
-
返回值: 如果找到返回字符位置,否則返回字符串長度。
-
demo:
- 運行結果:
strerror
- 函數原型:
-
函數功能:給出錯誤代碼 errnum 的描述內容。
-
返回值:返回描述錯誤內容的字符串指針。
-
demo:
strlen
- 函數原型:
-
函數功能:返回字符串 str 的長度。
-
返回值:返回字符串 str 的長度。
-
demo:
strncat
- 函數原型:
-
函數功能:將 source 中的前 num 個字符串追加到 destination 后。
-
返回值:返回追加后的 destination 指針。
-
demo:
strncmp
- 函數原型:
-
函數功能:比較 str1 中的前 num 個字符和 str2 中 的前 num 個字符的大小。
-
返回值:
| 小于零 | str1 < str2 |
| 等于零 | str1 == str2 |
| 大于零 | str1 > str2 |
- demo
strncpy
- 函數原型:
-
函數功能:將 source 中的前 num 個字符復制給 destination。如果 source 的長度大于 num,不會自動追加 \0。若小于,則會填充\0,直到長度為 num。
-
返回值:返回 destination 的指針。
-
demo:
strpbrk
- 函數原型:
-
函數功能:查找字符串 str1 中第一個出現的屬于字符串 str2 中的任意字符的指針。
-
返回值:返回字符串 str1 中第一個出現的屬于字符串 str2 中的任意字符的指針。若沒找到,返回 NULL。
-
demo:
strrchr
- 函數原型:
-
函數功能:在字符串中 str 查找最后一個 character 的指針位置。
-
返回值:如果找到,在字符串中 str 查找最后一個 character 的指針位置。否則返回 NULL。
-
demo:
strspn
- 函數原型:
-
函數功能: 計算 str1 字符串從開頭開始的連續字符,且這些字符都完全是 str2 所指字符串中的字符。
-
返回值:返回字符的個數。
-
demo:
strstr
- 函數原型:
-
函數功能:查找字符串 str1 中首次出現字符串 str2 的位置。
-
返回值:返回 str1 中首次出現 str2 的位置的指針,如果 str1 中不存在 str2 則返回 NULL。
-
demo:
strtok
- 函數原型:
-
函數功能:根據 delimiters 指定的內容進行分割。第一次需傳入待分割的字符串 str 指針,之后的調用傳入 NULL 即可。
-
返回值:返回指向分割后相應的片段的指針。
-
demo:
strxfrm
- 函數原型:
-
函數功能說明:根據當前環境(由LC_COLLATE所指定)轉化 source 字符串,并將前 num 個字符復制給 destination。
-
返回值:返回轉換后的字符串的長度。
總結
以上是生活随笔為你收集整理的C语言常用字符串操作函数大全详解(strstr,strtok,strrchr,strcat,strcmp,strcpy,strerror,strspn,strchr等)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何简单快速调试高大上的谷歌浏览器
- 下一篇: vmospro启动黑屏_VMOSPro(