解决MSVC编译报错:“C4996 'xxxx': This function or variable may be unsaf
2023-04-14 20:45 作者:TheWhiteDog9487 | 我要投稿
首先,啥情况下会出现这个错误?
让我们来想象一个场景:
你正在做一个程序,调用一个远程的API。为了安全起见,API认证用的密钥不能硬编码于代码中,于是你决定使用环境变量。现在要做的就是从系统中读取这个存储着密钥的环境变量。
过程十分正常。让我们编译、链接、运行。问题轻松秒....诶?


这,是个什么情况?
不多说,直接上微软的文档:

首选方案应当是使用这些函数的更安全版本。但是,对于编程新手(比如我)来说,那些更安全的参数列表一看就晕了,这可不是啥好事。所以就来看看,临时过渡方案。

这个方案相对于其他的优点是局部生效(有效范围只有下一行,一行而已),比其他全局解决方案安全很多,不至于(有可能的)因小失大。
来试用一下:

那当然是轻松秒杀。