gpt4 book ai didi

c++ - 这个带有指针函数的 strcpy 有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-04 15:22:57 24 4
gpt4 key购买 nike

为了找到程序,我已经拆开我的程序好几个小时了。我最终将它限制为只有几行代码,但我仍然很愚蠢(或厌倦)发现问题。

它只是一个使用指针的字符串复制函数。有人可以看一下吗?

void stringCopy(char *sourcePtr, char *destPtr)
{
while(*sourcePtr!='\0')
{
*destPtr=*sourcePtr;
destPtr++;
sourcePtr++;
}
}

它向我的字符串中注入(inject)垃圾值,就像我不知何故超出了字符串的限制。

此外,它仅用于复制长度小于 10 的字符串。声明的源数组和目标数组的大小为 20。一切都是硬编码的。

我会使用 strcpy,但这是一个类的作业,这是不允许的。

编辑:我只是忘了将最终的空字符输入到目的地!抱歉给大家带来了麻烦,伙计们!

最佳答案

最简单的strcpyX()函数:

void strcpyX(char *dest, const char *src){
while(*src) *dest++ = *src++;
*dest = '\0';
}

请记住,只有您为目的地预留了足够的空间,这才会起作用。

您的目的地还必须以 '\0'(现在不在您的代码中)终止,才能正确打印!

关于c++ - 这个带有指针函数的 strcpy 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14888436/

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