char p1[15] = "abcd", *p2 = "ABCD", str[50] = "xyz"; strcpy(str + 2, strcat(p1 + 2, p2 + 1)); printf("%s", str);
1 |
strcpy(s1, s2); 复制字符串 s2 到字符串 s1。 |
2 |
strcat(s1, s2); 连接字符串 s2 到字符串 s1 的末尾。连接字符串也可以用 + 号,例如: string str1 = "runoob";string str2 = "google";string str = str1 + str2; |
3 |
strlen(s1); 返回字符串 s1 的长度。 |
4 |
strcmp(s1, s2); 如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回值小于 0; 如果 s1>s2 则返回值大于 0。 |
5 |
strchr(s1, ch); 返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。 |
6 |
strstr(s1, s2); 返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。 |
p2指向字符串ABCD的首地址,p2+1代表地址向后移一位
即p2+1 <-> BCD
同理p1+2 <-> cd
char *strcat(char *dest, const char *src) ;把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
即strcat(p1 + 2, p2 + 1) <-> cdBCD
char * strcpy ( char * destination, const char * source );destination表示目标字符串的地址,source表示源字符串的地址。
即strcpy(str + 2, strcat(p1 + 2, p2 + 1));将cdBCD拷贝到数组str[3]-str[7]位置,结果也就是xycdBCD