一.strcat()函数
char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。它返回一个指向字符串dest首地址的指针。它的声明如下:
char *strcat(char *dest, const char *src)
实例如下:
#include <stdio.h> #include <string.h> int main() { char dest[50]="Who are you?", src[50]="I am Jack"; strcat(dest, src); printf("%s\n", dest); return(0); }
输出:
Who are you?I am Jack
升级的函数 char *strncat(char *dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。其余和strcat()函数一样。
二.strchr()函数
char *strchr(const char *str, int c) 在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。该函数返回在字符串 str 中第一次出现字符 c 的位置,如果未找到该字符则返回 NULL。它的声明如下:
char *strchr(const char *str, int c)
代码示例:
#include <stdio.h> #include <string.h> int main() { char str[50]="I am Jack"; char ch = ‘a‘; char *addr = strchr(str, ch); printf("找到:%c\n",*addr); return(0); }
输出:
找到:a
三.strcmp()函数
int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。如果str1>str2则返回值>0,如果str1<str2则返回值>0,如果str1=str2则返回值=0。它的声明如下:
int strcmp(const char *str1, const char *str2)
如下实例:
#include <stdio.h> #include <string.h> int main() { char str1[15]="abcde"; char str2[15]="ABCDE"; int ret; ret = strcmp(str1, str2); if (ret < 0) { printf("str1 小于 str2"); } else if (ret > 0) { printf("str2 小于 str1"); } else { printf("str1 等于 str2"); } return(0); }
输出:
str2 小于 str1
其升级版为 int strncmp(const char *str1, const char *str2, size_t n) 把 str1 和 str2 进行比较,最多比较前 n 个字节。
四.strcpy()函数
char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。其返回指向dest的指针。它的声明如下:
char *strcpy(char *dest, const char *src)
如下示例:
#include <stdio.h> #include <string.h> int main() { char src[50] ="Hello"; char dest[100]="Who are you?"; strcpy(dest, src); printf("最终的目标字符串: %s\n", dest); return(0); }
输出:
最终的目标字符串: Hello
其升级版为char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串复制到 dest,最多复制 n 个字符。