fopen_fopen_s -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 );
---------------------------------------------------
fopen_fopen_s -函数参数和返回值
[输出] pFile
(FILE*)指针
[输入] filename
文件名(可以加文件路径)
[输入] mode
访问方式。
---------------------------------------------------
返回值:
如果成功返回0,失败则返回相应的错误代码。
错误代码请到_doserrno,errno, _sys_errlist, and _sys_nerr去了解更多
错误条件
pFilefilenamemode返回值pFile的内容NULL任何任何EINVAL没有改变任何NULL任何EINVAL没有改变任何任何NULLEINVAL没有改变EINVAL:无效的参数。
备注:
文件由fopen_s和_wfopen_s打开不能共享。(也就是别人无法读/写和访问)如果你确实想让他可以访问, use_fsopen,_wfsopen withthe appropriate sharing mode constant (例如,_SH_DENYNOfor read/write sharing).
……
fopen_fopen_s -文件访问方式
"r"
只读,若文件不在则出错。
"w"
打开一个空文件来编写。若文件已经存在,内容会被全部清空;若文件不在则创建。(不可以创建文件夹)。
"a"
若文件存在就在文件末尾追加字符(也就是把光标移动到文件的EOF处),若文件不在就创建。
EOF:结束标志
"r+"
读/写,都可以。文件必须存在。
"w+"
就是"W"再多一个阅读的权力。也清空内容。
"a+"
读/写,并且把光标移动到EOF处。
当使用”a”和”a+”来打开一个文件时,光标会自动移动到EOF处,如果需要定位光标,则需要用到fseek 或者rewind函数。
--待续。。。
参考资料:
英文原文GOOGLE翻译
词条图册更多图册