字符串函数
char * strcpy(char restrict s1, const char * restrict s2)
//把s2指向的字符串copy到s1,返回值为s1
char *strncpy(char s1, const char s2, size_t n)
//最多copy n个
char *strcat(char *s1, const char *s2)
//把s2拷贝到s1末尾,覆盖s1的空字符,返回s1
char *strncat(char *s1, const char s2, size_t n)
//最多n个
int strcmp(const char *s1, const char *s2)
//比较字符序列位置,s1>s2返回正值,相等返回0,否则返回负值
int strncmp(const char *s1, const char *s2, size_t n)
//最多n个
char *strchr(const char *s, int c)
//如果s中包含c,返回s中首次出现c的指针,若未找到返回空指针
char *strpbrk(const char *s1, const char *s2)
//如果s1中包含有s2的任意字符,返回s1首位置的指针;如果未找到,返回空指针
char *strrchr(const char *s1, int c)
//返回s中最后一次出现c的位置;如果未找到,返回空指针
char *strstr(const char * s1, const char *s2)
//返回s1中s2出现的首位置;如果未找到,返回空指针
size_t strlen(const char *s)
//返回s中的字符数,不包括空字符
关键字 restrict 只可用于指针,并表明指针是访问一个数据对象的唯一且初始的方式。