VC++ 檔案讀寫總結
一、檔案開啟函式概述
1. _open:
_open
函式將開啟由 filename
指定的檔案並使其做好讀寫準備
2._sopen:
_sopen 函式將開啟由 filename
指定的檔案並使該檔案做好共享的讀寫準備
3.fopen:
fopen 函式開啟 filename
指定的檔案(SH_DENYNO即共享讀寫)
4.fopen_s:
fopen_s 函式開啟 filename
指定的檔案(_SH_SECURE即在只讀模式下才共享讀,其他時不共享)
5.freopen:
freopen函式將關閉當前與相關聯的檔案stream
,並重新指定stream
到指定的檔案path
6._fsopen:
_fsopen 函式以流的形式開啟由 filename
指定的檔案並使該檔案做好準備以進行後續的共享讀寫
7._fdopen:
_fdopen 函式將 I/O 流與 fd
標識的檔案相關聯,從而允許對為低級別 I/O 而開啟的檔案進行緩衝和格式化。
二、檔案開啟函式
1. _open:
(1)函式原型:int _open( const char *filename, int oflag [, int pmode] );
(2)功能:_open 函式將開啟由 filename
指定的檔案並使其做好讀寫準備
(3)引數:filename 檔名;oflag 允許的操作型別;pmode許可權模式
(4)返回值:返回值 -1 指示錯誤
2._sopen:
(1)函式原型:int _sopen( const char *filename, int oflag, int shflag [, int pmode ] );
(2)功能:_sopen 函式將開啟由 filename
指定的檔案並使該檔案做好共享的讀寫準備,如oflag
和shflag
所定義。
(3)引數:filename 檔名;oflag 允許的操作型別;shflag 允許的共享型別;pmode許可權模式
(4)返回值:返回值 -1 指示錯誤
3.fopen:
(1)函式原型:FILE *fopen( const char *filename, const char *mode );
(2)功能:fopen 函式開啟 filename
指定的檔案。 預設情況下,使用 ANSI 內碼表 (CP_ACP) 解釋窄filename
字串。
(3)引數:filename 檔名;mode 啟用的訪問型別
(4)返回值:一個 null 指標值指示錯誤
4.fopen_s:
(1)函式原型:errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );
(2)功能:fopen_s 函式開啟 filename
指定的檔案。 fopen_s共享模式為_SH_SECURE即在只讀模式下才共享讀,其他時不共享。
(3)引數:pFile指向檔案指標的指標,檔案指標將接收指向已開啟檔案的指標。filename 檔名;mode 啟用的訪問型別
(4)返回值:如果成功,則為零;如果失敗,則為錯誤程式碼。
5.freopen:
(1)函式原型:FILE *freopen( const char *path, const char *mode, FILE *stream );
(2)功能:freopen函式將關閉當前與相關聯的檔案stream
,並重新指定stream
到指定的檔案path
(3)引數:path 新檔案的路徑;mode 允許的訪問型別;stream指向FILE
結構的指標
(4)返回值:返回值 NULL指示錯誤
6._fsopen:
(1)函式原型:FILE *_fsopen( const char *filename, const char *mode, int shflag );
(2)功能_fsopen 函式以流的形式開啟由 filename
指定的檔案並使該檔案做好準備以進行後續的共享讀寫
(3)引數:filename
要開啟的檔案的名稱。mode
允許的訪問型別。shflag
允許的共享型別。
(4)返回值:返回值 NULL指示錯誤
7._fdopen:
(1)函式原型:FILE *_fdopen( int fd, const char *mode );
(2)功能:_fdopen 函式將 I/O 流與 fd
標識的檔案相關聯,從而允許對為低級別 I/O 而開啟的檔案進行緩衝和格式化
(3)引數:fd 開啟檔案的檔案描述符;mode檔案訪問的型別
(4)返回值:返回值 NULL指示錯誤
三、函式區別