我想知道它的缺点scanf()
.
在许多站点中,我已经读过使用scanf
可能导致缓冲区溢出.这是什么原因?还有其他缺点scanf
吗?
在以前版本的Visual Studio中,使用_sleep或strncpy等函数只会输出警告.在最新版本中,突然出现错误:
错误C4996:'_sleep':此函数或变量已被更新的库或操作系统功能取代.考虑使用Sleep.详细信息请参见在线帮助.
我知道我可以通过添加#pragma warning(disable: 4996)
代码的开头来禁用它,但是VS试图强迫我使用其他功能是非常烦人的.有没有办法禁用这种行为?
在你问之前,"将警告视为错误"被禁用,即使我关闭所有警告也会出错!
我在我的简单MFC窗口应用程序中编译错误,该应用程序由向导生成,包含几行代码:
错误C4996:'strncpy':此函数或变量可能不安全.请考虑使用strncpy_s.要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS.详细信息请参见在线帮助.
我设置 Configuration Properties>>C/C++>>Preporocessor>>Preprocessor Definitions>> _CRT_NONSTDC_NO_WARNINGS
但这没有帮助.我有另一个非常接近的项目,在这个地方只生成警告,它没有_CRT_NONSTDC_NO_WARNINGS
定义.
只有项目之间的差异是向导中的几个不同选项.
为什么_CRT_NONSTDC_NO_WARNINGS对第一个项目没有帮助,为什么第二个项目在没有这个定义的情况下编译没有问题?