使用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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章