gpt4 book ai didi

c++ - 如何使用安全的 strcpy_s 函数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:29 25 4
gpt4 key购买 nike

我正在尝试使用更安全的 strcpy_s 更新对 strcpy 的调用。旧函数调用如下所示:

char buf[6];
strcpy(buf+1, "%#c");

为了将上面的代码变成更安全的版本,我应该在 size 参数中输入什么?

char buf[6];
strcpy_s(buf+1, /*SIZE GOES HERE*/, "%#c");

我想我对代码的 buf+1 部分感到困惑。它本质上只是一个指向寄存器 ONE block 的指针吗?如果是这样,我应该为 strcpy_s 的 SIZE 参数输入什么?我试过:

  strcpy_s(buf+1, sizeof(buf+1), "%#c");

这似乎可行,但我想知道是否有更好的方法来做到这一点。

最佳答案

如果您要复制到 buf开始,您会说:

strcpy_s(buf, sizeof(buf), "%#c");

由于您跳过了第一个字符,因此可以使用的字符较少,因此:

strcpy_s(buf + 1, sizeof(buf) - 1, "%#c");

关于c++ - 如何使用安全的 strcpy_s 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24121352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com