C编程中的strcpy()

时间:2020-02-23 14:32:06  来源:igfitidea点击:

我们之前在" C语言中的字符串"教程中了解了C编程中的字符串。
今天,我们将重点介绍C编程中的strcpy()。

C编程中的strcpy()函数

strcpy()函数将一个字符串的内容复制到另一个字符串中。
应该将目标的基地址和源(或者源字符串)提供给此函数,以便将源字符串复制到目标字符串中。
让我们看一下语法,

strcpy(char * target,const char * source);

strcpy()继续将字符从源字符串复制到目标字符串,直到遇到Null字符(\ 0)。
由于字符串是以逐字符方式复制的。
请记住,目标字符串应具有可以容纳复制的字符串的维。

如何在C中使用strcpy()函数

下面给出的示例说明了C中strcpy()函数的用法,

#include<stdio.h>
#include<string.h>
int main()
{
	char target[30],source[30];

	printf("Enter the source string to be copied:");
	fgets(source,30,stdin);

	printf("\n\nsource---->target\n\n");
	strcpy(target,source);
	printf("The target after copying is:%s",target);

	return 0;
}

  • 在上面的代码中,我们首先声明两个目标字符串和源字符串。

  • 之后,将使用用户输入的源字符串。
    在这种情况下,这是" theitroad strcpy()示例"。

  • 当我们有了源字符串时,我们使用了string.h头文件中的strcpy()函数。
    该函数将源字符串的内容复制到目标字符串中。

请注意,源字符串也可以直接传递给strcpy()函数。
但是对于目标字符串,我们总是需要指定指向它的指针。

制作自己的字符串复制函数

让我们尝试创建自己的字符串复制函数,以更好地理解strcpy()函数的工作方式。

#include<stdio.h>
char *My_strcpy(char *t, const char *s)  //My_strcpy() definition
{
	char *temp;
	temp=t;
	while(*s!='{代码}')       //character-by-charaacter copying
	{
		*t=*s;
		s++;
		t++;
	}
	*t='{代码}';    //string termination
	return temp;
}
int main()
{
	char target[30],source[30];

	printf("Enter the source string to be copied:");
	fgets(source,30,stdin);

	printf("\n\nsource---->target\n\n");
	My_strcpy(target,source);
	printf("The target after copying is:%s",target);

	return 0;
}

上面我们在main()函数之前声明并定义My_strcpy()函数。
在main()内部,我们使用它代替预定义的strcpy()函数来获得上述输出。

在定义我们将指针** s初始化为常量的My_strcpy()函数时,您是否注意到了?这样做是为了确保该函数无论如何都不会改变源字符串的内容。

这就是函数strcpy()在C编程中的工作方式。