当前位置:   article > 正文

c语言之strcpy函数使用和实现_cmake使用strcpy

cmake使用strcpy


前言

c语言之strcpy函数使用和实现

一、strcpy函数使用

原型:

char *strcpy(char * destination, const char *source );
  • 1

strcpy是覆盖拷贝,将source全覆盖拷贝到destination,会把’\0’也拷过去,estination的空间必须>=source的空间

#include<stdio.h>
#include<string.h>
int main()
{
	char p1[] = "abcde";
	char* p2  = "hello";
	strcpy(p1, p2);
	printf("%s\n", p1);
	printf("%s\n", p2);
	return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

执行

# gcc strcpy.c  -o strcpy
#  ./strcpy
hello
hello
  • 1
  • 2
  • 3
  • 4

二、实现方法

#include<stdio.h>
#include<string.h>
void stringcpy(char* char1 , const char *char2){
	while(*char2){
		*char1 = *char2;
		char1++;
		char2++;
		//验证添加char1 = '\0';
		if(*char2=='\0'){
			printf("退出while循环,不执行*char1 = *char2; 没有赋值给char1结束符");
			printf("\n");
		}
	}
	*char1 = '\0';//添加char1 = '\0';
}

int main()
{
	char   str1[5] = "abcde";
	const char* p  = "hello";
	stringcpy(str1, p);
	printf("%s\n", str1);
	printf("%s\n", p);
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

执行

$ gcc strcpy.c  -o strcpy
$ ./strcpy
退出while循环,不执行*char1 = *char2; 没有赋值给char1结束符
hello
hello
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/388257
推荐阅读
相关标签
  

闽ICP备14008679号