天天看點

C/C++打開檔案函數fopen和fopen_s用法的比較

C/C++打開檔案函數fopen和fopen_s用法的比較 語言:C/C++

測試環境:VS2013

由于VS的高版本對檔案操作的安全性有了較高的要求,是以會出現如下情況:

1、fopen的用法:

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函數。可以考慮_fsopen,_wfsopen這兩個函數。