在C中实现strcpy

  • 本文关键字:strcpy 实现 c
  • 更新时间 :
  • 英文 :

int main(int argc, char *argv[]){
char arr[100];
strcpy(arr, argv[1]); 
}

考虑到这一点,我想在没有strcpy的情况下实现相同的单一主方法,我已经尝试过了。我试过这个:

int main(int argc, char *argv[]){
char arr[100];
char *start = arr;
while(*argv[1]!= '')
{
*arr= *argv[1];
arr++;
argv[1]++;
}
*destination = '';
arr = start;
}

但这给了我一个错误,我想知道为什么:(

arr不是指针,因此无法递增。请尝试:

int main(int argc, char *argv[])
{
char arr[100];
char *start = arr;
while(*argv[1])
*start++ = *argv[1]++;
*start = 0;
}

当然,如果strlen(argv[1])大于99,这将是一个问题。

变量就是它们的本质。strcpy是classis,它有一个正则形式

int main(int argc, char *argv[]){
char arr[100];
char *s = arr;
char *t = argv[1];
while ((*s++ = *t++));
}

有一个D.Ritche Book中的一行。

char* MY_STRCPY(char* dest, char* src)
{
char *d = dest, *s = src;
while(*d++ = *s++);
return dest;
}

最新更新