Jak fopen_s może być bezpieczniejszy niż fopen?

Pracuję nad starszym kodem dlaWindows Platforma. Kiedy kompiluję kod wVS2013, daje następujące ostrzeżenie:

błąd C4996: „fopen„: Ta funkcja lub zmienna mogą być niebezpieczne. Rozważ użyciefopen_s zamiast. Aby wyłączyć dezaktualizację, użyj _CRT_SECURE_NO_WARNINGS. Szczegółowe informacje można znaleźć w pomocy online. ”

I da także samiliarskie ostrzeżenie dlasprintf. rozumiemsprintf_s jest bardziej bezpieczny niż sprintf z powodu przepełnienia bufora.

Ale jak może byćfopen_s być bardziej bezpiecznym niżfopen, nie ma szans na przepełnienie bufora, ponieważfopen nie akceptuje bufora. Czy ktoś może przedstawić sprawęfopen jest niebezpieczny ifopen_s jest bezpieczny?

questionAnswers(1)

yourAnswerToTheQuestion