我只是一个C的初学者,我已经用C写了一段代码,里面有很多memcpy函数。我希望将memcpy语句转换为memcpy_s。我不太明白这样做的语法。
这是我的代码片段:
signed char buffer[MAX];
unsigned char len;
const char *scenario = ConvertMap[identity];
len = strlen(scenario);
memcpy((void*)&buffer[0],scenario,len);如何将最后一行转换为memcpy_s?是不是像这样:
memcpy_s((void*)&buffer[0], sizeof(buffer), scenario, len)?
发布于 2016-06-08 19:16:30
代码可能是:
memcpy_s(buffer, sizeof(buffer), scenario, len)不过,如果您打算复制以null结尾的字符串,则可能需要使用len+1。(但在这种情况下,请使用strcpy_s)。
此外,您还应该考虑到错误情况:或者设计代码的其余部分,以便在memcpy失败时正常运行(缓冲区将为空),或者检查返回值并在失败时采取措施。
https://stackoverflow.com/questions/37698758
复制相似问题