我有以下一組代碼無法找到爲什麼我會得到垃圾值。我的意圖是將字節數作爲目標複製到源而不考慮源爲我的應用程序製作通用副本。但沒有得到正確的結果。有什麼辦法可以做到這一點。memset無法正常工作
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
我們可以看到0之後的輸出是garbage.But爲什麼它正在調用,它在哪裏來。 乳清memset無法正常工作。 Pleae有助於獲得這一概念的原因。
使用'strncpy()函數(X,I,的sizeof X);'代替'memset的/ memcpy'儘可能多i'儘可能'填充以0如果需要複製,而不過/欠填充'x', 。 – chux