字符串复制不用strcpy
发布网友
发布时间:2024-10-14 06:20
我来回答
共3个回答
热心网友
时间:2024-10-20 00:45
因为s1是一个指向的是一个常量字符串,不能作为左值。
如果想实现s1[i] = s2[i];
你 就得为s1分配内存。
如果 s1 = (char*) malloc(sizeof(s2) + 1);
热心网友
时间:2024-10-20 00:52
void main(void)
{
char s1[] = "abcdefg", s2[] = "efgh";
int i;
for (i = 0; s2[i]; i++)
s1[i] = s2[i];
puts(s1);
}
热心网友
时间:2024-10-20 00:47
先要把s1的指针释放掉delete [] s1,然后判断s1是否为空,如果为空,再
int len=strlen(s2);s1=new char[len+1];for(int i=0;i<len;i++)s1[i]=s2[i];