1.字符串复制函数:strcpy
char *stpcpy(char *to, char *from);
2.字符串连接函数:strcat
char *strcat(char *to, char *from);
该函数会将字符串from连接在字符串to后面,这样,字符串to的长度会有所增加,最后返回字符串to的指针。字符串to所在的字符数组应该有足够的内存空间来容纳字符串from,否则会出现内存越界的错误。但是有时候即使字符串to所在的字符数组内存空间不够大,也不会发生错误。这是因为变量在内存中的位置很稀疏,如果字符数组后的一块内存并没有被其他变量等占用,程序便侥幸不会出错,但如果该块内存不巧已经被分配,程序可能因此而崩溃。
strncat
char *strncat(char *to, char *from, int n);
该函数会从字符串from中拷贝n个字节连接在字符串to后面。
3.字符定位函数:strchr
char *strchr(char *str, char c);
查找字符串str中首次出现字符c的位置,如果找到,返回对应字符的指针,如果未找到则返回NULL。
注意:第一个参数不一定要求是字符串的首地址,可以从字符串的任意位置开始向后检索,如:
char str[10] = "hello world";
char *p = strchr(str+5, 'o');
4.字符串比较函数:strcmp
int strcmp(char *str1, char *str2);
逐个比较字符的ASCII码,ASCII码大者更“大”;如果两个字符串长度不一样,但是前面的字符都相同,则更长的那个字符串更“大”。str1大于str2,返回值大于0,str1小于str2,返回值小于0,str1等于str2,返回值等于0。
strncmp
int strncmp(char *str1, char *str2, int n);
比较字符串的前n个字符。
5.字符串查找函数:strstr
char *strstr(char *str1, char *str2);
在字符串str1中查找字符串str2首次出现的位置,返回首次出现的指针;如果未找到则返回NULL。
6.字符串逆转函数:strrev
char *strrev(char *str);
将字符串逆转。
7. strset
char *strset(char *str, char c);
将字符串str中的所有字符都设为指定字符c。