将字符串str1复制为字符串str2的三种方法

1.自己编写函数,将两个字符串进行复制

#include<iostream>
using namespace std;
int main(){
   char str1[]="I love China!",str2[20];
   void Strcpy(char *p1,char *p2);
   Strcpy(str2,str1);
   cout<<"str1: "<<str1<<endl;
   cout<<"str2: "<<str2<<endl;
   return 0;
}
void Strcpy(char *p2,char *p1){
	int i=0;
	for(;*p1!='\0';p1++,p2++){
		*p2=*p1;
	}
	*p2='\0';
}

2.使用函数库重的strcpy函数

#include<iostream>
using namespace std;
int main(){
   char str1[]="I love China!",str2[20];
   strcpy(str2,str1);
   cout<<"str1: "<<str1<<endl;
   cout<<"str2: "<<str2<<endl;
   return 0;
}

3.定义两个字符串变量,然后直接进行赋值

#include<iostream>
#include<string>
using namespace std;
int main(){
   string str1="I love China!",str2;
   str2=str1;
   cout<<"str1: "<<str1<<endl;
   cout<<"str2: "<<str2<<endl;
   return 0;
}


转载于:https://www.cnblogs.com/zhezh/p/3773419.html

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用strcpy函数将字符串str1内容复制字符串str2中。具体实现方法如下: strcpy(str2, str1); 其中,str2为目标字符串str1为源字符串。该函数会将源字符串内容复制到目标字符串中,并返回目标字符串的地址。需要注意的是,目标字符串必须有足够的空间来存储源字符串内容,否则会出现内存溢出的问题。 ### 回答2: 字符串是一种常见的数据类型,在很多的编程语言中都有应用。字符串由多个字符组成,通常用一对双引号或单引号括起来。在编程中,我们常常需要将一个字符串内容复制到另一个字符串中,以便进行后续的操作。下面是一些可以实现这个功能的方法方法一:使用赋值语句 在很多编程语言中,赋值语句可以很方便地将一个变量或者常量的值赋给另一个变量或常量。在字符串中,我们也可以使用赋值语句将一个字符串赋值给另一个字符串。例如,在C语言中,我们可以使用strcpy()函数,将一个字符串内容复制到另一个字符串中。 方法二:使用循环 在某些情况下,我们可能需要手动将一个字符串的每个字符复制到另一个字符串中。这时,我们可以使用循环来实现。例如,在Python中,我们可以使用for循环遍历源字符串的每个字符,并将它们复制到目标字符串中。 方法三:使用字符串操作函数 很多编程语言提供了一些字符串操作函数,可以方便地实现字符串复制。例如,在Java中,我们可以使用String类的copyValueOf()函数,将一个字符数组的内容复制到一个新的字符串中。 无论使用哪种方法,都需要注意源字符串和目标字符串的长度问题。源字符串的长度需要小于等于目标字符串的长度,以避免内存溢出和其他问题的发生。此外,在某些编程语言中,字符串是不可变的,这意味着我们不能直接改变字符串中的字符,而是需要创建一个新的字符串来存储新的内容。因此,在进行字符串复制时,我们需要特别注意这些问题。 ### 回答3: 字符串复制是比较常见的一种操作方式,对于初学者来说可能比较困难。本文将介绍如何将字符串str1内容复制字符串str2。 在C语言中,字符串是字符数组,因此对于字符串的操作,就是对字符数组的操作。实现字符串复制的核心其实就是将一个字符数组中的内容赋值到另一个字符数组中来,因此可以采用循环方式来实现。 下面是一个字符串复制的代码示例: ```c #include <stdio.h> #include <string.h> int main() { char str1[100], str2[100]; //定义字符数组,用于存储字符串 printf("请输入要复制字符串:"); scanf("%s", str1); //输入要复制字符串 int len = strlen(str1); //获取字符串长度 for(int i = 0; i <= len; i++) //循环复制字符串 { str2[i] = str1[i]; //将字符数组str1内容复制str2中 } printf("复制后的字符串为:%s\n", str2); //输出复制后的字符串 return 0; } ``` 上述代码中,首先定义了两个字符数组str1str2,用于存储原字符串复制后的字符串。然后通过scanf函数获取要复制字符串,再通过strlen函数获取字符串长度。 接着使用for循环遍历字符串中的每一个字符,并将其赋值给另一个字符数组,最后输出复制后的字符串。 需要注意的是,在复制时需要保留字符串结尾的'\0',所以在循环中需要将i <= len,而不是i < len。 使用上述代码可以实现字符串复制的功能,如果要复制字符串比较长,可以使用库函数strcpy(),它可以将一个字符串复制到另一个字符串中。例如: ```c #include <stdio.h> #include <string.h> int main() { char str1[100], str2[100]; //定义字符数组,用于存储字符串 printf("请输入要复制字符串:"); scanf("%s", str1); //输入要复制字符串 strcpy(str2, str1); //使用库函数将str1复制str2中 printf("复制后的字符串为:%s\n", str2); //输出复制后的字符串 return 0; } ``` 上述代码中,使用了库函数strcpy()将str1复制str2中,后面的代码和前面的例子相同,输出复制后的字符串即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值