请在下面找到代码片段。 strncatmemcpypDBVal中有不同的值是否有可能。如果是这样,请解释。

memcpy(pDBVal, pHash, 20);

strncat(pDBVal, cBinSalt, 16);

memcpy(pDBVal+20,cBinSalt,16);


理想情况下,pDBVal中的输出将是相同的。还请说明两个功能在执行上的区别

最佳答案

strncat应该用于字符串连接,所以在

strncat(pDBVal, cBinSalt, 16);


如果cBinSalt的长度小于16,则仅复制直到'\0'的内容。

10-07 19:07