在VS 2019中编译 C++ 语言项目,如果使用了 sprintf函数,编译时便会提示如下错误:

 error 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. 

 

      原因是Visual C++ 2019 使用了更加安全的 run-time library routines 。新的Security CRT functions(就是那些带有“_s”后缀的函数)


下面给出这个问题的解决方案:

方法一:将原来的旧函数替换成新的 Security CRT functions    即加上_s后缀

 

方法二:用以下方法屏蔽这个警告:

    声明 #param warning(disable:4996)

注意,该声明要写在#pragma once  之后,否则会报错。

更多推荐

C++报错 sprintf': This function or variable may be unsafe. Consider using sp