一般使用:strcpy, strcmp, sprintf,fopen等函数时,编译器经常报一大堆的C4996警告,例如:
d:\work\personal\xxxx.c(1175): warning 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.
d:\work\personal\xxxx.c(1210): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
其实编译器已经给出了说明和解决问题的办法:
(1)首先它告知这个警告是它认为你使用这些函数存在安全隐患;
(2)建议你使用另一个函数代替,例如:strcpy_s, sprintf_s等等。
(3)如果要disable这个警告,在工程中添加预编译宏:_CRT_SECURE_NO_WARNINGS
在工程上右键 --> properties --> C/C++ | Preprocessor | Preprocessor Definitions中,增加 _CRT_SECURE_NO_DEPRECATE