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

时间:2024-03-28 08:40:54

语言:C/C++

测试环境:VS2015

由于VS的高版本对文件操作的安全性有了较高的要求,所以会出现如下情况:

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

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

2、fopen_s的用法:

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

探讨比较
1.fopen_s的安全是在于闭函数fopen多了溢出检测;
2.在使用上,函数fopen的返回值是文件指针,如果返回的文件指针为NULL时,则表示打开文件失败。而函数fopen_s的返回值是相应的错误代码,通过查看错误代码代表的含义,有助于排查问题。
3.fopen_s打开的文件不能共享,如果你打开的文件需要共享的话,不能使用fopen_s函数。可以考虑_fopen,_wfsopen这两个函数。