pra*_*pta -1 c linux libc memcpy
我有以下一组代码无法找到我获得垃圾值的原因.我的意图是将字节数复制为目标而不管源是否为我的应用程序制作通用副本.但没有得到正确的结果.有没有办法实现这一目标.
int main()
{
char x[6];
char *i="pra";
memset(&x,0,6); //Doing memset
memcpy(&x,i,6);
printf("%x %x %x %x %x %x",x[0],x[1],x[2],x[3],x[4],x[5]);
}
o/p:
70 72 61 0 25 78
Run Code Online (Sandbox Code Playgroud)
我们可以看到0之后的输出是垃圾.但是为什么它正在进行以及它的来源.乳清memset不能正常工作.Pleae有助于了解这一概念的原因.
你抄袭六个字节i
来x
,但只有四个字节非垃圾值的i
,所以最后两个是什么碰巧经过i
.