gpt4 book ai didi

c++ - C++中的Strcpy不起作用

转载 作者:行者123 更新时间:2023-11-28 02:26:39 25 4
gpt4 key购买 nike

谁能说出为什么这段代码中的 strcpy 返回一个空字符串?

#include <iostream>

char* strcpy(char* dest, const char* from) {
for ( ; *from; dest++, from++) {
*dest = *from;
}

return dest;
}

int main() {
char a[] = "aba";
char b[] = "hello";
std::cout << strcpy(a, b);
return 0;
}

我使用的编译器是 GNU G++11 4.9.2

更新:这也不管用 #包括

char* strcpy(char* dest, const char* from) {
for ( ; *from; dest++, from++) {
*dest = *from;
}

*dest = '\0';

return dest;
}

int main() {
char a[] = "abaaa";
char b[] = "hello";
std::cout << strcpy(a, b);
return 0;
}

最佳答案

尝试使用临时指针:

char* strcpy(char* dest, const char* from) {
char *tmp = dest;
for ( ; *from; tmp++, from++) {
*tmp = *from;
}
*tmp = '\0';

return dest;
}

同时考虑为具有适当字符数的目标分配内存。

关于c++ - C++中的Strcpy不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30416776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com