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
解决这种情况有两种选择:
-
禁用该检查,请参阅相关的问题和答案:如何使用_CRT_SECURE_NO_WARNINGS。基本上,只需在文件的最上面(在任何
#include
)前添加:#define _CRT_SECURE_NO_WARNINGS
-
以正确的方式使用
strcpy_s
(同时,首先检查position < 80
,否则替换无效):