fopen_s

王朝百科·作者佚名  2010-09-06  
宽屏版  字体: |||超大  

fopen_s 函数原型fopen_s,_wfopen_s

打开一个文件,这些版本比fopen,_wfopen在安全性上都有增强。

使用方法:

---------------------------------------------------

errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );

errno_t _wfopen_s( FILE** pFile, const wchar_t *filename, const wchar_t *mode );

---------------------------------------------------

函数参数和返回值[输出] pFile

(FILE*)指针

[输入] filename

文件名(可以加文件路径)

[输入] mode

访问方式。

---------------------------------------------------

返回值:

如果成功返回0,失败则返回相应的错误代码。

错误代码请到_doserrno,errno, _sys_errlist, and _sys_nerr去了解更多

错误条件

pFile

filename

mode

返回值

pFile的内容

NULL

任何

任何

EINVAL

没有改变

任何

NULL

任何

EINVAL

没有改变

任何

任何

NULL

EINVAL

没有改变

EINVAL:无效的参数。

备注:

文件由fopen_s和_wfopen_s打开不能共享。(也就是别人无法读/写和访问)如果你确实想让他可以访问, use _fsopen,_wfsopen withthe appropriate sharing mode constant (例如,_SH_DENYNOfor read/write sharing).

……

文件访问方式"r"

只读,若文件不在则出错。

"w"

打开一个空文件来编写。若文件已经存在,内容会被全部清空;若文件不在则创建。(可以不可以创建文件夹我没试过)。

"a"

若文件存在就在文件末尾追加字符(也就是把光标移动到文件的EOF处),若文件不在就创建。

EOF:结束标志

"r+"

读/写,都可以。文件必须存在。

"w+"

就是"W"再多一个阅读的权力。也清空内容。

"a+"

读/写,并且把光标移动到EOF处。

当使用”a”和”a+”来打开一个文件时,光标会自动移动到EOF处,如果需要定位光标,则需要用到fseek 或者 rewind 函数。

--待续。。。

参考资料:

英文原文GOOGLE翻译

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有