12.字符串相关函数


字符串的拷贝

#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"));//指定长度追加
}