项目场景:
在vs编译器中,用 scanf()函数以及一些字符串处理函数时,会报错,而无法运行程序
问题描述
例如:在VS中使用scanf();输入数据
@Override
{
int a;
scanf("%d",&a);
}
编译器报错提示:
‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
原因分析:
因为使用scanf()函数输入字符串时无法限制数据的个数,因此可能出现数组越界的情况,因此在Visual Stuio等一些编译器中将scanf()函数归为不安全函数。
解决方案:
在文件第一行 加上:#define _CRT_SECURE_NO_WARNINGS 1
(只针对与vs编译器)
但每一次编译时都要加上该语句比较麻烦,所以可直接在电脑中找到
文件(该文件一般再VS的路径中):newc++file.cpp 将该语句直接写入即可,之后再使用VS,会自动在文件第一行加上该语句