我想了解strcpy和strncpy的区别/缺点。 有人可以请帮助:当dest缓冲区小于src缓冲区时strcpy
void main()
{
char src[] = "this is a long string";
char dest[5];
strcpy(dest,src) ;
printf("%s \n", dest);
printf("%s \n", src);
}
输出是:
this is a long string
a long string
问:我不明白,源刺痛是怎么修改。按照解释,strcpy的应该保持复制,直到它遇到“\ 0”,它确实是这样,但怎么来的“SRC”字符串得到了修改。
请解释。
这称为缓冲区Overun。 – lsalamon 2009-10-21 16:00:36
此缓冲区溢出问题说明了为什么您应该选择使用strcpy而不是strcpy。 – 2009-10-21 16:03:24
我无法重现您的代码。我在dest数组中获得'tring'。 – Spidey 2009-10-21 16:35:07