其實這些禁用的API還是可以用,但其實主要目是是為了減少代碼中引入安全漏洞的可能性
如果能避開不用當然是最好的
下面這個表格是禁用的API,各自可以替代的函數
MSDN: http://msdn.microsoft.com/en-us/library/ff468910%28v=VS.85%29.aspx
禁用的API | 替代的StrSafe函數 | 替代的Safe CRT函數 |
有關字符串拷貝的API | ||
strcpy, wcscpy, _tcscpy, _mbscpy, StrCpy, StrCpyA, StrCpyW, lstrcpy, lstrcpyA, lstrcpyW, strcpyA, strcpyW, _tccpy, _mbccpy | StringCchCopy, StringCbCopy, StringCchCopyEx, StringCbCopyEx | strcpy_s |
有關字符串合併的API | ||
strcat, wcscat, _tcscat, _mbscat, StrCat, StrCatA, StrCatW, lstrcat, lstrcatA, lstrcatW, StrCatBuffW, StrCatBuff, StrCatBuffA, StrCatChainW, strcatA, strcatW, _tccat, _mbccat | StringCchCat, StringCbCat, StringCchCatEx, StringCbCatEx | strcat_s |
有關sprintf的API | ||
wnsprintf, wnsprintfA, wnsprintfW, sprintfW, sprintfA, wsprintf, wsprintfW, wsprintfA, sprintf, swprintf, _stprintf | StringCchPrintf, StringCbPrintf, StringCchPrintfEx, StringCbPrintfEx | _snprintf_s _snwprintf_s |
沒有留言:
張貼留言