1. 程式人生 > >頭文件<string.h>

頭文件<string.h>

指針 const sta 符號 pbr 依次 strcat 子字符串 錯誤號

頭文件<string.h>聲明了一種類型和幾個函數,並且定義了一個宏。
1、類型:
size_t 這是無符號整數類型,它是 sizeof 關鍵字的結果。
2、宏:
NULL 這個宏是一個空指針常量的值。
3、函數:
3.1復制函數
void *memcpy(void *dest,const void *src,size_t n);
說明:從 src 復制 n 個字符到 dest。
參數:dest -- 指向用於存儲復制內容的目標數組,類型強制轉換為 void* 指針。
src -- 指向要復制的數據源,類型強制轉換為 void* 指針。
n -- 要被復制的字節數。
返回值:該函數返回一個指向目標存儲區 dest 的指針。

void memmove(vodi *s1,const void *s2,size_t n);
說明:另一個用於從 s2 復制 n 個字符到 s1 的函數。
參數:s1 -- 指向用於存儲復制內容的目標數組,類型強制轉換為 void* 指針。
s2 -- 指向要復制的數據源,類型強制轉換為 void* 指針。
n -- 要被復制的字節數。
返回值:該函數返回一個指向目標存儲區 s1 的指針。

char *strcpy(char *s1,const char *s2);
說明:把 s2 所指向的字符串復制到 s1
參數:s1 -- 指向用於存儲復制內容的目標數組。
s2 -- 要復制的字符串。
返回值:該函數返回一個指向最終的目標字符串 s1 的指針。

char *strncpy(char *s1,const char *s2,size_t n);
說明:把 s2 所指向的字符串復制到 s1,最多復制 n 個字符。
參數:s1 -- 指向用於存儲復制內容的目標數組。
s2 -- 要復制的字符串。
n -- 要從源中復制的字符數。
返回值:該函數返回最終復制的字符串。

3.2連接函數
char *strcat(char *s1,const char *s2);
說明:把 s2 所指向的字符串追加到 s1 所指向的字符串的結尾。
參數:s1 -- 指向目標數組,該數組包含了一個 C 字符串,且足夠容納追加後的字符串。
s2 -- 指向要追加的字符串,該字符串不會覆蓋目標字符串。
返回值:該函數返回一個指向最終的目標字符串 s1 的指針。

char *strncat(char *s1,const char *s2,size_t n);
說明:把 s2 所指向的字符串追加到 s1 所指向的字符串的結尾,直到 n 字符長度為止。
參數:s1 -- 指向目標數組,該數組包含了一個 C 字符串,且足夠容納追加後的字符串,包括額外的空字符。
s2 -- 要追加的字符串。
n -- 要追加的最大字符數。
返回值:該函數返回一個指向最終的目標字符串 s1 的指針。

3.3比較函數
int memcmp(const void *s1,const void *s2,size_t n);
說明:把 s1 和 s2 的前 n 個字節進行比較。
參數:s1 -- 指向內存塊的指針。
s2 -- 指向內存塊的指針。
n -- 要被比較的字節數。
返回值:如果返回值 < 0,則表示 s1 小於 s2。
如果返回值 > 0,則表示 s2 小於 s1。
如果返回值 = 0,則表示 s1 等於 s2。

int strcmp(const char *s1,const char *s2);
說明:把 s1 所指向的字符串和 s2 所指向的字符串進行比較。
參數:s1 -- 要進行比較的第一個字符串。
s2 -- 要進行比較的第二個字符串。
返回值:如果返回值 < 0,則表示 s1 小於 s2。
如果返回值 > 0,則表示 s2 小於 s1。
如果返回值 = 0,則表示 s1 等於 s2。

int strcoll(const char *s1,const char *s2);
說明:把 s1 和 s2 進行比較,結果取決於 LC_COLLATE 的位置設置。
參數:s1 -- 要進行比較的第一個字符串。
s2 -- 要進行比較的第二個字符串。
返回值:如果返回值 < 0,則表示 s1 小於 s2。
如果返回值 > 0,則表示 s2 小於 s1。
如果返回值 = 0,則表示 s1 等於 s2。

int strncmp(const char *s1,const char *s2,size_t n);
說明:把 s1 和 s2 進行比較,最多比較前 n 個字節。
參數:s1 -- 要進行比較的第一個字符串。
s2 -- 要進行比較的第二個字符串。
n -- 要比較的最大字符數。
返回值:如果返回值 < 0,則表示 s1 小於 s2。
如果返回值 > 0,則表示 s2 小於 s1。
如果返回值 = 0,則表示 s1 等於 s2。

size_t strxfrm(char *s1,const char *s2,size_t n);
說明:根據程序當前的區域選項中的 LC_COLLATE 來轉換字符串 s2 的前 n 個字符,並把它們放置在字符串 s1 中。
參數:s1 -- 指向存儲內容的目標數組的指針,如果參數 n 為 0,則它是一個空指針。
s2 -- 要被轉換為當前區域設置的 C 字符串。
n -- 被復制到 str1 的最大字符數。
返回值:該函數返回被轉換字符串的長度,不包括空結束字符。

3.4查找函數
void *memchr(const void *s,int c,size_t n);
說明:在參數 s 所指向的字符串的前 n 個字節中搜索第一次出現字符 c(一個無符號字符)的位置。
參數:s -- 指向要執行搜索的內存塊。
c -- 以 int 形式傳遞的值,但是函數在每次字節搜索時是使用該值的無符號字符形式。
n -- 要被分析的字節數。
返回值:該函數返回一個指向匹配字節的指針,如果在給定的內存區域未出現字符,則返回 NULL。

char *strchr(const char *s,int c);
說明:在參數 s 所指向的字符串中搜索第一次出現字符 c(一個無符號字符)的位置。
參數:s -- 要被檢索的 C 字符串。
c -- 在 str 中要搜索的字符。
返回值:該函數返回在字符串 s中第一次出現字符 c 的位置,如果未找到該字符則返回 NULL。

size_t strcspn(const cahr *s1,const char *s2);
說明:檢索字符串 s1 開頭連續有幾個字符都不含字符串 s2 中的字符。
參數:s1 -- 要被檢索的 C 字符串。
s2 -- 該字符串包含了要在 s1 中進行匹配的字符列表。
返回值:該函數返回 s1 開頭連續都不含字符串 s2 中字符的字符數。

char *strpbrk(const char *s1,const char *s2);
說明:檢索字符串 s1 中第一個匹配字符串 s2 中字符的字符,不包含空結束字符。也就是說,依次檢驗字符串 s1 中的字符,當被檢驗字符在字符串 s2 中也包含時,則停止檢驗,並返回該字符位置。
參數:s1 -- 要被檢索的 C 字符串。
s2 -- 該字符串包含了要在 s1 中進行匹配的字符列表。
返回值:該函數返回 s1 中第一個匹配字符串 s2 中字符的字符數,如果未找到字符則返回 NULL。

char *strrchr(const char *s,int c);
說明:在參數 s 所指向的字符串中搜索最後一次出現字符 c(一個無符號字符)的位置。
參數:s -- C 字符串。
c -- 要搜索的字符。以 int 形式傳遞,但是最終會轉換回 char 形式。
返回值:該函數返回 s 中最後一次出現字符 c 的位置。如果未找到該值,則函數返回一個空指針。

size_t strspn(const char *s1,const char *s2);
說明:檢索字符串 s1 中第一個不在字符串 s2 中出現的字符下標。
參數:s1 -- 要被檢索的 C 字符串。
s2 -- 該字符串包含了要在 str1 中進行匹配的字符列表。
返回值:該函數返回 s1 中第一個不在字符串 s2 中出現的字符下標。

char *strstr(const char *s1,const char *s2);
說明:在字符串 s1 中查找第一次出現字符串 s2(不包含空結束字符)的位置。
參數:s1 -- 要被檢索的 C 字符串。
s2 -- 在 haystack 字符串內要搜索的小字符串。
返回值:該函數返回在 s1 中第一次出現 s2 字符串的位置,如果未找到則返回 null。

char *strtok(char *s1,const char *s2);
說明:分解字符串 s1 為一組字符串,s2 為分隔符。
參數:s1 -- 要被分解成一組小字符串的字符串。
s2 -- 包含分隔符的 C 字符串。
返回值:該函數返回被分解的最後一個子字符串,如果沒有可檢索的字符串,則返回一個空指針。

3.5其他函數
void *memset(void *s,int c,size_t n);
說明:復制字符 c(一個無符號字符)到參數 s 所指向的字符串的前 n 個字符。
參數:s -- 指向要填充的內存塊。
c -- 要被設置的值。該值以 int 形式傳遞,但是函數在填充內存塊時是使用該值的無符號字符形式。
n -- 要被設置為該值的字節數。
返回值:該值返回一個指向存儲區 str 的指針。

char *strerror(int errnum);
說明:從內部數組中搜索錯誤號 errnum,並返回一個指向錯誤消息字符串的指針。
參數:errnum -- 錯誤號,通常是 errno。
返回值:該函數返回一個指向錯誤字符串的指針,該錯誤字符串描述了錯誤 errnum。

size_t strlen(const char *s);
說明:計算字符串 s 的長度,直到空結束字符,但不包括空結束字符。
參數:str -- 要計算長度的字符串。
返回值:該函數返回字符串的長度。

頭文件<string.h>