ANSI C库中有20多个处理字符串的函数,下面的列表
总结了其中最常用的一些:
- char *strcpy (char *s1,const *s2);
该函数把s2指向的字符串(包括空字符)复制到s1指向的位置,返回值是s1.
- char *strncpy(char *s1,const char *s2,size_t n);
该函数把s2指向的字符串复制到s1指向的位置,复制的字符数不超过n个.返回值是s1.空字符后的字符不被复制.如果源字符的字符数少于n个,在目标字符串中就以空字符填充.如果源字符串的字符数大于或等于n个,空字符就不被复制.返回值是s1
- char *strcat(char *s1,const char *s2);
S2指向的字符串被复制到s1指向字符串的结尾.复制过来的s2所指字符串的第一个字符覆盖了s1所指字符串结尾的空字符.返回值是s1.
- char *strncat(char *s1,const char *s2,size_t n);
S2空字符中只有前n个字符被追加到s1字符串,复制过来的s2字符串的第一个字符覆盖了s1字符串结尾的空字符.s2字符串中的空字符及其后的任何字符都不会被复制,并且追加一个空字符到所得结果后面.返回值是s1.
- int strcmp(const char *s1,const char *s2);
如果s1字符串在机器编码顺序中落后于s2字符串,函数的返回值是一个正数;如果两个字符串相同,返回值是0;如果第一个字符串中在机器编码顺序中先于第二个字符串,返回值是一个负数.
- int strncmp(const char *s1,const char *s2,size_t n);
该函数的作用和strcmp()函数一样,只是比较n个字符后或者遇见第一个空字符时会停止比较,由二者中最先被满足的那一个条件终止比较过程.
- char *strchr(const char *s,int c);
该函数返回一个指向字符串s中存放字符c的第一个位置的指针(标志结束的空字符是字符串的一部分,因此也可以搜索到它).如果没找到该字符,函数就返回空指针NULL.
- char *strpbrk(const char*s1,const char*s2);
该函数返回一个指针,指向字符串s1中存放s2字符串中的任何字符的第一个位置.如果没找到任何字符,函数就返回空指针.
- char *strrchr(const char *s,int c);
该函数返回一个指针,指向字符串s中字符c最后一次出现的地方(标志结束的空字符是字符串的一部分,因此也可以搜索到它).如果没找到该字符,函数就返回空指针.
- char *strstr(const char *s1,const char *s2);
该函数返回一个指针,指向s1字符串中第一次出现s2字符串的地方.如果在s1中没找到s2字符串,函数就返回空指针.
- size_t strlen(const char *s);
该函数返回s字符串中的字符个数,其中不包括标志结束的空字符.