裡面主要包含了一些與字元串關聯的函數的聲明,這些函數有如下的命名規則: 以"mem"開頭的函數操作任意的字元序列 以"strn"開頭的函數操作非空字元序列 以"str"開頭的函數操作空字元結尾的字元序列 數據類型 size_t 巨集 NULL 函數 複製 memcpy() memmove() strc ...
<string.h>裡面主要包含了一些與字元串關聯的函數的聲明,這些函數有如下的命名規則:
- 以"mem"開頭的函數操作任意的字元序列
- 以"strn"開頭的函數操作非空字元序列
- 以"str"開頭的函數操作空字元結尾的字元序列
數據類型
size_t
巨集
NULL
函數
複製
memcpy()
/*
功能:從s2指向的對象中複製n個字元到s1指向的對象中,如果s1和s2有重疊,則結果未定義
參數:
返回值:返回s1
*/
void* memcpy(void* s1, const void* s2,size_t n);
memmove()
/*
功能:從s2指向的對象中複製n個字元到s1指向的對象中,即使s1,s2有重疊,仍可正常複製
參數:
返回值:
*/
void* memmove(void* s1, const void* s2, size_t n);
strcpy()
/*
功能:把s2指向的串(包括'\n')複製到s1指向的數組中,如果s1,s2重疊,則結果未定義
參數:
返回值:
*/
char* strcpy(char* s1, const char* s2);
strncpy()
/*
功能:從s2指向的數組中複製最多n和字元(到'\n'為止),如果s1,s2重疊,則結果未定義
參數:
返回值:
*/
char* strncpy(char* s1,const char* s2,size_t n);
strcat()
/*
功能:把s2指向的串(包括'\n')的副本添加到s1指向的串的末尾,會覆蓋s1的原本的'\n'
參數:
返回值:
*/
char* strcat(char* s1, const char* s2);
strncat()
/*
功能:把s2指向的串(包括'\n')的副本的最多n個字元(到'\n'為止)添加到s1指向的串的末尾,會覆蓋s1的原本的'\n'
參數:
返回值:
*/
char* strncat(char* s1, const char* s2, size_t n);
比較
memcmp()
/*
功能:將s1指向的對象的前n個字元和s2指向的對象的前n個字元進行比較
參數:
返回值:s1的相應字元大於等於小於s2的相應字元時,分別返回一個大於等於小於0的整數
*/
int memcmp(const void* s1,const void* s2, size_t n);
strcmp()
/*
功能:對s1指向的串和s2指向的串進行比較
參數:
返回值:s1串的>,=,<s2串時,分別返回一個/>,<,=0的整數
*/
int strcmp(const char* s1, const char* s2);
strcoll()
/*
功能:將s1串和s2串進行比較,比較時串都被解釋為適合當前區域設置的類型LC_COLLATE形式
參數:
返回值:
*/
int strcoll(const char* s1,const char* s2);
strncmp()
/*
功能:比較s1串和s2串最多n個字元
參數:
返回值:
*/
int strncmp(const char* s1, const char* s2, size_t n);
strxfrm()
/*
功能:轉換s2指向的串,並把結果串複製到s1指向的數組中
參數:
返回值:成功返迴轉換串的長度,如果返回的值是n或者更大,則s1指向的數組的內容是不確定的
*/
size_t strxfrm(char* s1,const char* s2, size_t n);
查找
memchr()
/*
功能:確定c在s指向的對象的前n個字元中第一次出現的位置
參數:
返回值:
*/
void* memchr(const void* s, int c, size_t n);
strchr()
/*
功能:確定c在s指向的串中第一次出現的位置
參數:
返回值:
*/
char* strchr(const char* s, int c);
strcspn()
/*
功能:計算s1指向的字元串中完全不是s2指向的串中的字元組成的最大初始段長度
參數:
返回值:
*/
size_t strcspn(const char* s1, const char* s2);
strpbrk()
/*
功能:確定s2指向的串中的任意字元在s1指向的串中第一次出現的位置
參數:
返回值:
*/
char* strpbrk(const char* s1, const char* s2);
strrohr()
/*
功能:確定c在s指向的串中最後一次出現的位置,'\n'被看作串的一部分
參數:
返回值:
*/
char* strchr(const char* s, int c);
strspn()
/*
功能:計算s1指向的字元串中完全由s2指向的串中的字元組成的最大初始段的長度
參數:
返回值:
*/
size_t strspn(const char* s1, const char* s2);
strstr()
/*
功能:函數strstr確定s2指向的串的字元序列在s1指向的串中第一次出現的位置
參數:
返回值:
*/
char* strstr(const char *s, const char* s2);
strtok()
/*
功能:對strtok()的連續調用把s1指向的串分解為一系列記號,每個記號都由s2指向的串中的字元界定
參數:
返回值:
*/
char* strstr(const char* s1, const char* s2);
其他
memset()
/*
功能:把c的值複製到s指向的對象的前n個字元的每個字元中
參數:
返回值:
*/
void* memset(void* s, int c, size_t n);
strerror()
/*
功能:將errnum中的錯誤編號對應到一個錯誤信息串
參數:
返回值:
*/
char* strerror(int errnum);
strlen()
/*
功能:計算s指向的串的長度
參數:
返回值:
*/
size_t strlen(const char* s);