C语言问题:将字符串a复制到字符串b中
5个回答
展开全部
将字符串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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-21
展开全部
直接使用strcpy()函数阿
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询