fopen()函数参数
摘⾃百度百科。。。。
1."r" = "rt"
打开⼀个⽂本⽂件,⽂件必须存在,只允许读
2."r+" = "rt+"
打开⼀个⽂本⽂件,⽂件必须存在,允许读写
3."rb"
打开⼀个⼆进制⽂件,⽂件必须存在,只允许读
4.“rb+”
打开⼀个⼆进制⽂件,⽂件必须存在,允许读写
5."w" = “wt”
新建⼀个⽂本⽂件,已存在的⽂件将被删除,只允许写
6."w+" = "wt+"
新建⼀个⽂本⽂件,已存在的⽂件将被删除,允许读写
7.“wb”
新建⼀个⼆进制⽂件,已存在的⽂件将被删除,只允许写
8.“wb+”
新建⼀个⼆进制⽂件,已存在的⽂件将被删除,允许读写
9."a" = "at"
打开或新建⼀个⽂本⽂件,只允许在⽂件末尾追写
10."a+" = "at+"
打开或新建⼀个⽂本⽂件,可以读,但只允许在⽂件末尾追写
11.“ab”
打开或新建⼀个⼆进制⽂件,只允许在⽂件末尾追写
12.“ab+”
打开或新建⼀个⼆进制⽂件,可以读,但只允许在⽂件末尾追写
对于⽂件使⽤⽅式有以下⼏点说明:
1) ⽂件使⽤⽅式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 只读
w(write): 只写
a(append): 追加
t(text): ⽂本⽂件,可省略不写
b(binary):
+: 读和写
2) 凡⽤“r”打开⼀个⽂件时,该⽂件必须已经存在,且只能从该⽂件读出。
3) ⽤“w”打开的⽂件只能向该⽂件写⼊。若打开的⽂件不存在,则以指定的⽂件名建⽴该⽂件,若打开的⽂件已经存在,则将该⽂件删去,重建⼀个新⽂件。
4) 若要向⼀个已存在的⽂件追加新的信息,只能⽤“a”⽅式打开⽂件。如果指定⽂件不存在则尝试创建该⽂件。
5) 在打开⼀个⽂件时,如果出错,fopen将返回⼀个空指针值NULL。在程序中可以⽤这⼀信息来判别是否完成打开⽂件的⼯作,并作相应的处理。因此常⽤以下程序段打开⽂件:
fopen函数失败6) if((fp=fopen("c:\\hzk16","rb"))==NULL)
{
printf("\nerror on open c:\\hzk16 file!");
getch();
exit(1);
}
这段程序的意义是,如果返回的指针为空,表⽰不能打开C盘根⽬录下的 hzk16⽂件,则给出提⽰信息“error on open c:\ hzk16 file!”,下⼀⾏getch()的功能是从键盘输⼊⼀个字符,但不在屏幕上显⽰。在这⾥,该⾏的作⽤是等待,只有当⽤户从键盘敲任⼀键时,程序才继续执⾏,因此⽤户可利⽤这个等待时间阅读出错提⽰。敲键后执⾏exit(1)退出程序。
7) 把⼀个⽂本⽂件读⼊内存时,要将ASCII码转换成⼆进制码,⽽把⽂件以⽂本⽅式写⼊磁盘时,也要把⼆进制码转换成ASCII码,因此⽂本⽂件的读写要花费较多的转换时间。对⼆进制⽂件的读写不存在这种转换。
8) 标准输⼊⽂件(键盘),标准输出⽂件(显⽰器),标准出错输出(出错信息)是由系统打开的,可直接使⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论