Como pode fopen_s ser mais seguro que fopen?
Eu estou trabalhando em código legado paraWindows
plataforma. Quando eu compilo o código emVS2013
, dá o seguinte aviso:
erro C4996: 'fopen
': Esta função ou variável pode não ser segura. Considere usarfopen_s
em vez de. Para desabilitar a depreciação, use _CRT_SECURE_NO_WARNINGS. Veja a ajuda online para detalhes. "
E também dará um aviso similar parasprintf
. Compreendosprintf_s
é mais seguro que sprintf por causa do estouro de buffer.
Mas como pode serfopen_s ser mais seguro do quefopen
, não há chance de estouro de buffer porquefopen
não aceita um buffer. Alguém pode fornecer um casofopen
não é seguro efopen_s
é seguro?