VS编译错误._CRT_SECURE_NO_WARNINGS、_WINSOCK_DEPRECATED_NO_WARNINGS

1、不记得原来的情况了,记得大概是这样:

  低版本的 VC编译器 使用 strcpy、sprintf 等它不会报错,但是 高版本的 VS编译就会报错,大意是 strcpy、sprintf 等函数 不安全  要使用安全的函数strcpy_s、sprintf_s等

2、如果不想修改调用的函数的话,就这样:

  项目->属性->C/C++->预处理器->"预处理器定义"中添加 _CRT_SECURE_NO_WARNINGS

  ZC: #pragma warning(disable:4996)  #define _CRT_SECURE_NO_WARNINGS

3、(20191121)

 3.1、错误 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. 

  ZC:出现这个的时候,之前是如上面那样设置的,现在发现 可以直接在 .h/.cpp文件中直接 "#define _CRT_SECURE_NO_WARNINGS" 也能有效...

 3.2、错误 C4996 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings 

  ZC:这里,解决方案 vs2017已经提示出来了,直接 "#define _WINSOCK_DEPRECATED_NO_WARNINGS" 即可

4、

5、

原文地址:https://www.cnblogs.com/cppskill/p/11137844.html