如题所述
第1个回答 推荐于2017-09-09
将字符串a复制到字符串b中,简单的方法是使用strcpy函数;
头文件:#include <string.h>
定义函数:char *strcpy(char *dest, const char *src);
函数说明:strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。
返回值:返回参数dest 的字符串起始地址。
附加说明:如果参数 dest 所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况,在编写程序时请特别留意,或者用strncpy()来取代。
范例
#include <stdio..h>
#include <string.h>
void main()
{
char a[30] = "first string(1)";
char b[] = "another string(2)";
printf("before strcpy() :%s\n", a);
printf("after strcpy() :%s\n", strcpy(a, b));
}
也可以使用循环来复制:
#include <stdio.h>
void main()
{
int i;
char a[30] = "first string(1)";
char b[] = "another string(2)";
printf("before : %s\n", a);
for(i=0;b[i];i++)a[i]=b[i]; //复制除'\0'以外的每一个字符
a[i]='\0'; //置串尾标记'\0'
printf("after : %s\n", a);
}
头文件:#include <string.h>
定义函数:char *strcpy(char *dest, const char *src);
函数说明:strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。
返回值:返回参数dest 的字符串起始地址。
附加说明:如果参数 dest 所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况,在编写程序时请特别留意,或者用strncpy()来取代。
范例
#include <stdio..h>
#include <string.h>
void main()
{
char a[30] = "first string(1)";
char b[] = "another string(2)";
printf("before strcpy() :%s\n", a);
printf("after strcpy() :%s\n", strcpy(a, b));
}
也可以使用循环来复制:
#include <stdio.h>
void main()
{
int i;
char a[30] = "first string(1)";
char b[] = "another string(2)";
printf("before : %s\n", a);
for(i=0;b[i];i++)a[i]=b[i]; //复制除'\0'以外的每一个字符
a[i]='\0'; //置串尾标记'\0'
printf("after : %s\n", a);
}
第2个回答 推荐于2017-10-15
main()
{
char a[]="I am a boy.";
char b[20];
int i;
for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
*(b+i)='\0';
printf("String a is:%s\n",a);
printf("String b is:");
for(i=0;b[i]!='\0';i++)
printf("%c",b[i]);
printf("\n");
}本回答被提问者采纳
{
char a[]="I am a boy.";
char b[20];
int i;
for(i=0;*(a+i)!='\0';i++)
*(b+i)=*(a+i);
*(b+i)='\0';
printf("String a is:%s\n",a);
printf("String b is:");
for(i=0;b[i]!='\0';i++)
printf("%c",b[i]);
printf("\n");
}本回答被提问者采纳
第3个回答 2012-04-21
strcpy(b,a)
第4个回答 2012-04-21
直接使用strcpy()函数阿