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 指示错误

(5)详情:https://msdn.microsoft.com/zh-cn/magazine/z0kc8e3z.aspx

2._sopen:

(1)函数原型:int _sopen(  const char *filename,  int oflag,  int shflag [,  int pmode ]  );

(2)功能:_sopen 函数将打开由 filename 指定的文件并使该文件做好共享的读写准备,如oflagshflag 所定义。

(3)参数:filename 文件名;oflag 允许的操作类型;shflag 允许的共享类型;pmode权限模式

(4)返回值:返回值 -1 指示错误

(5)详情:https://msdn.microsoft.com/zh-cn/magazine/w7sa2b22.aspx

3.fopen:

(1)函数原型:FILE *fopen(   const char *filename,  const char *mode  );

(2)功能:fopen 函数打开 filename指定的文件。 默认情况下,使用 ANSI 代码页 (CP_ACP) 解释窄filename 字符串。

(3)参数:filename 文件名;mode 启用的访问类型

(4)返回值:一个 null 指针值指示错误

(5)详情:https://msdn.microsoft.com/zh-cn/library/yeby3zcb.aspx

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)详情:https://msdn.microsoft.com/zh-cn/library/z5hh6ee9.aspx

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指示错误

(5)详情:https://msdn.microsoft.com/zh-cn/magazine/wk2h68td.aspx

6._fsopen:

(1)函数原型:FILE *_fsopen(  const char *filename,  const char *mode,  int shflag  );

(2)功能_fsopen 函数以流的形式打开由 filename 指定的文件并使该文件做好准备以进行后续的共享读写

(3)参数:filename 要打开的文件的名称。mode 允许的访问类型。shflag 允许的共享类型。

(4)返回值:返回值 NULL指示错误

(5)详情:https://msdn.microsoft.com/zh-cn/magazine/8f30b0db(de-de).aspx

7._fdopen:

(1)函数原型:FILE *_fdopen(   int fd,  const char *mode  );

(2)功能:_fdopen 函数将 I/O 流与 fd 标识的文件相关联,从而允许对为低级别 I/O 而打开的文件进行缓冲和格式化

(3)参数:fd 打开文件的文件描述符;mode文件访问的类型

(4)返回值:返回值 NULL指示错误

(5)详情:https://msdn.microsoft.com/zh-cn/magazine/dye30d82.aspx

三、函数区别

1.参考:http://blog.csdn.net/victor1960/article/details/44460567

http://stackoverflow.com/questions/9738960/what-is-difference-between-sh-secure-and-sh-denywr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值