C/C++|C/C++打开文件函数fopen和fopen_s用法的比较

C/C++打开文件函数fopen和fopen_s用法的比较 语言:C/C++
测试环境:VS2013
由于VS的高版本对文件操作的安全性有了较高的要求,所以会出现如下情况:
1、fopen的用法:
C/C++|C/C++打开文件函数fopen和fopen_s用法的比较
文章图片


2、fopen_s的用法:
C/C++|C/C++打开文件函数fopen和fopen_s用法的比较
文章图片


探讨比较:
1.fopen_s的安全是在于比函数fopen多了溢出检测。

2.在使用上,函数fopen的返回值是文件指针,如果返回的文件指针为NULL时,则表示打开文件失败。而函数fopen_s的返回值是相应的错误代码,通过查看错误代码代表的含义,有助于你排查问题。
【C/C++|C/C++打开文件函数fopen和fopen_s用法的比较】3.fopen_s打开的文件不能共享,如果你打开的文件需要共享的话,不能使用fopen_s函数。可以考虑_fsopen,_wfsopen这两个函数。


    推荐阅读