欢迎来到天天文库
浏览记录
ID:8963144
大小:84.50 KB
页数:13页
时间:2018-04-13
《c语言fopen等几个f函数用法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言函数fopen函数简介 函数功能:打开一个文件 函数原型:FILE*fopen(constchar*path,constchar*mode); 相关函数:open,fclose,fopen_s[1],_wfopen 所需库: 返回值:文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno中。 一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。 参数说明: 参数
2、path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r打开只读文件,该文件必须存在。 r+打开可读写的文件,该文件必须存在。 rb+读写打开一个二进制文件,只允许读写数据。 rt+读写打开一个文本文件,允许读和写。 w打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 a以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果
3、文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留) a+以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。(原来的EOF符不保留) wb只写打开或新建一个二进制文件;只允许写数据。 wb+读写打开或建立一个二进制文件,允许读和写。 wt+读写打开或着建立一个文本文件;允许读写。 at+读写打开一个文本文件,允许读或在文本末追加数据。 ab+读写打开一个二进制文件,允许读或在文件末追加数据。 上述的形态字符串都可以再加一个
4、b字符,如rb、w+b或ab+等组合,加入b字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR
5、S_IWUSR
6、S_IRGRP
7、S_IWGRP
8、S_IROTH
9、S_IWOTH(0666)权限,此文件权限也会参考umask值。 有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。表格1.fopen()中的mode的可能值列表mode说明
10、'r'只读方式打开,将文件指针指向文件头。'r+'读写方式打开,将文件指针指向文件头。'w'写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。'w+'读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。'a'写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。'a+'读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。'x'创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则fopen()调用失败并返回FALSE,并生成一条E_WARNI
11、NG级别的错误信息。如果文件不存在则尝试创建之。这和给底层的open(2)系统调用指定O_EXCL
12、O_CREAT标记是等价的。此选项被PHP4.3.2以及以后的版本所支持,仅能用于本地文件。'x+'创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则fopen()调用失败并返回FALSE,并生成一条E_WARNING级别的错误信息。如果文件不存在则尝试创建之。这和给底层的open(2)系统调用指定O_EXCL
13、O_CREAT标记是等价的。此选项被PHP4.3.2以及以后的版本所支持,仅能用于本地文件。注:不同的操作系统家族具
14、有不同的行结束习惯。当你写入一个文本文件并想插入一个新行时,你需要使用符合你操作系统的行结束符号。基于Unix的系统使用作为行结束字符,基于Windows的系统使用r作为行结束字符,基于Macintosh的系统使用r作为行结束字符。如果写入文件时使用了错误的行结束符号,则其它应用程序打开这些文件时可能会表现得很怪异。Windows下提供了一个文本转换标记('t')可以透明地将转换为r。与此对应你还可以使用'b'来强制使用二进制模式,这样就不会转换你的数据。要使用这些标记,要么用'b'或者用't'作为mode参数的最
15、后一个字符。默认的转换模式依赖于SAPI和你使用的PHP版本,因此为了便于移植鼓励你总是指定恰当的标记。当操作以作为行结束定界符的纯文本文件时,如果你还期望这些文件可以用于其它应用程序例如Notepad
此文档下载收益归作者所有