使用sprintf格式化字符串出错:error C4996: 'sprintf': This function or variable may be unsafe.

本来打算一次读取10张图片,代码如下:

for (int i = 0; i < 10; i++)
{
	char filePath[20];
	sprintf(filePath, "./imgs/%d.jpg", i);
	cout << "filePath: " << filePath << endl;
}

使用sprintf格式化字符串出错,提示:

error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

提示sprintf函数可能不安全,建议使用sprintf_s代替,所以第一种解决方法就是将函数名直接替换,其他参数不用改动(VS2015下)

for (int i = 0; i < 10; i++)
{
	char filePath[20];
	sprintf_s(filePath, "./imgs/%d.jpg", i);
	cout << "filePath: " << filePath << endl;
}

第二种方法,按照提示,在项目--属性---配置属性---C/C++---预处理器---预处理器定义中添加_CRT_SECURE_NO_WARNINGS

使用sprintf格式化字符串出错:error C4996: 'sprintf': This function or variable may be unsafe.

上一篇:[E模拟] lc1736. 替换隐藏数字得到的最晚时间(模拟+时间问题+sprintf函数+周赛225_1)


下一篇:C++9018:1303——数字统计[NOIP2010]