Visual Studio2019,在C项目工程下编译遇到的问题汇总

strcpy(array, str);

错误    C4996    'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 

strcpy_s(array, str);

错误    C2198    “strcpy_s”: 用于调用的参数太少

使用的strcpy_s,它是strcpy的专用版本,它执行额外的错误检查,只需要3个参数:

errno_t strcpy_s(char *dest, rsize_t dest_size, const char *src);

如果不需要这个,请改用标准的strcpy函数:(MSVC在这方面特别迂腐,不喜欢好的ol(更快更简单)标准函数)

注意:scanf_s也是如此,如果你没有充分的理由说明scanf_s可能对你更有用,请使用scanf

解决这种情况有两种选择:

  1. 禁用该检查,请参阅相关的问题和答案:如何使用_CRT_SECURE_NO_WARNINGS。基本上,只需在文件的最上面(在任何#include)前添加:#define _CRT_SECURE_NO_WARNINGS

  2. 以正确的方式使用strcpy_s(同时,首先检查position < 80,否则替换无效):

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值