error C4996: 'sprintf': This function or variable may be unsafe.
Consider using sprintf_s instead.
To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
VS2012 起 CRT 強制推廣安全版本(_s 後綴),sprintf 被標記棄用,預設視為錯誤(而非警告)。
sprintf_s(cc, sizeof(cc), "=%.0fKg", aa); // 必須傳緩衝區大小
_CRT_SECURE_NO_WARNINGS,保留舊寫法不報錯。#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
| 舊函數 | 安全版本 | 關鍵差異 |
|---|---|---|
| sprintf | sprintf_s | 需傳 buffer size |
| strcpy | strcpy_s | 需傳 destination size |
| strcat | strcat_s | 需傳 destination size |
| scanf | scanf_s | 需傳 buffer size |
遷移專案時建議批次替換為安全版本,長遠受益。