字符串的拷贝
#include
#include
int main()
{
char src[100] = "hello mike";
char dst[100];
//把src字符数组的内容拷贝给dst所代表的数组
strcpy(dst, src);
//拷贝原理,遇到结束符而结束
char str2[100] = "hello \0 mike";
char dst2[100];
strcpy(dst2, str2);
char a[100] = "hello world";
char b[100] = "aaaaaaaaaaaaaaaaa";
strncpy(b, a, strlen(a));
strncpy(b, a, strlen(a) + 1);
//可以把\0拷贝进去,但是\0后面的内容不可以拷贝
char c[] = "hello\0 world";
char d[100];
strncpy(d, c, sizeof(c));
printf("%s\n", d);
printf("%s\n", c + strlen("hello") + 1);
char ch[] = "happy \0 birthday";
char ch1[100];
strncpy(ch1, ch, strlen(ch));
printf("%s", ch1);
}
字符串的比较
#include
#include
int main()
{
char s1[] = "abc";
char s2[] = "abcd";
int flag = strcmp(s1, s2);
int a = strncmp(s1, s2, 3);
if (flag > 0)
{
printf("s1大");
}
else if (flag < 0)
{
printf("s2大");
}
else
{
printf("两者相等");
}
}
字符串的追加
#include
#include
int main()
{
char src[] = "hello mike";
char b[100] = "abc";
strcat(b, src);//把src的内容追加到b的后面
printf("%s", b);
strncat(b, src, strlen("hello"));//指定长度追加
}