C語言 標(biāo)準(zhǔn)庫 <string.h>
c語言 標(biāo)準(zhǔn)庫 <string.h>
string .h 頭文件定義了一個(gè)變量類型、一個(gè)宏和各種操作字符數(shù)組的函數(shù)。
1. 庫變量
下面是頭文件 string.h 中定義的變量類型:
序號(hào) | 變量 & 描述 |
---|---|
1 | size_t 這是無符號(hào)整數(shù)類型,它是 sizeof 關(guān)鍵字的結(jié)果。 |
2. 庫宏
下面是頭文件 string.h 中定義的宏:
序號(hào) | 宏 & 描述 |
---|---|
1 | null 這個(gè)宏是一個(gè)空指針常量的值。 |
3. 庫函數(shù)
下面是頭文件 string.h 中定義的函數(shù):
序號(hào) | 函數(shù) & 描述 |
---|---|
1 | void *memchr(const void *str, int c, size_t n) 在參數(shù) str 所指向的字符串的前 n 個(gè)字節(jié)中搜索第一次出現(xiàn)字符 c(一個(gè)無符號(hào)字符)的位置。 |
2 | int memcmp(const void *str1, const void *str2, size_t n) 把 str1 和 str2 的前 n 個(gè)字節(jié)進(jìn)行比較。 |
3 | void *memcpy(void *dest, const void *src, size_t n) 從 src 復(fù)制 n 個(gè)字符到 dest。 |
4 | void *memmove(void *dest, const void *src, size_t n) 另一個(gè)用于從 str2 復(fù)制 n 個(gè)字符到 str1 的函數(shù)。 |
5 | void *memset(void *str, int c, size_t n) 復(fù)制字符 c(一個(gè)無符號(hào)字符)到參數(shù) str 所指向的字符串的前 n 個(gè)字符。 |
6 | char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的結(jié)尾。 |
7 | char *strncat(char *dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的結(jié)尾,直到 n 字符長度為止。 |
8 | char *strchr(const char *str, int c) 在參數(shù) str 所指向的字符串中搜索第一次出現(xiàn)字符 c(一個(gè)無符號(hào)字符)的位置。 |
9 | int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串進(jìn)行比較。 |
10 | int strncmp(const char *str1, const char *str2, size_t n) 把 str1 和 str2 進(jìn)行比較,最多比較前 n 個(gè)字節(jié)。 |
11 | int strcoll(const char *str1, const char *str2) 把 str1 和 str2 進(jìn)行比較,結(jié)果取決于 lc_collate 的位置設(shè)置。 |
12 | char *strcpy(char *dest, const char *src) 把 src 所指向的字符串復(fù)制到 dest。 |
13 | char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串復(fù)制到 dest,最多復(fù)制 n 個(gè)字符。 |
14 | size_t strcspn(const char *str1, const char *str2) 檢索字符串 str1 開頭連續(xù)有幾個(gè)字符都不含字符串 str2 中的字符。 |
15 | char *strerror(int errnum) 從內(nèi)部數(shù)組中搜索錯(cuò)誤號(hào) errnum,并返回一個(gè)指向錯(cuò)誤消息字符串的指針。 |
16 | size_t strlen(const char *str) 計(jì)算字符串 str 的長度,直到空結(jié)束字符,但不包括空結(jié)束字符。 |
17 | char *strpbrk(const char *str1, const char *str2) 檢索字符串 str1 中第一個(gè)匹配字符串 str2 中字符的字符,不包含空結(jié)束字符。也就是說,依次檢驗(yàn)字符串 str1 中的字符,當(dāng)被檢驗(yàn)字符在字符串 str2 中也包含時(shí),則停止檢驗(yàn),并返回該字符位置。 |
18 | char *strrchr(const char *str, int c) 在參數(shù) str 所指向的字符串中搜索最后一次出現(xiàn)字符 c(一個(gè)無符號(hào)字符)的位置。 |
19 | size_t strspn(const char *str1, const char *str2) 檢索字符串 str1 中第一個(gè)不在字符串 str2 中出現(xiàn)的字符下標(biāo)。 |
20 | char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出現(xiàn)字符串 needle(不包含空結(jié)束字符)的位置。 |
21 | char *strtok(char *str, const char *delim) 分解字符串 str 為一組字符串,delim 為分隔符。 |
22 | size_t strxfrm(char *dest, const char *src, size_t n) 根據(jù)程序當(dāng)前的區(qū)域選項(xiàng)中的 lc_collate 來轉(zhuǎn)換字符串 src 的前 n 個(gè)字符,并把它們放置在字符串 dest 中。 |