参数 filename 指向要打开的文件名,mode 表示打开状态的字符串,其
取值如下:
"r" 以只读方式打开文件
"w" 以只写方式打开文件
"a" 以追加方式打开文件
"r+" 以读/写方式打开文件,如无文件出错
"w+" 以读/写方式打开文件,如无文件生成新文件
一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本
模式中回车被当成一个字符'\n',而二进制模式认为它是两个字符
0x0D,0x0A;如果在文件中读到 0x1B,文本模式会认为这是文件结束符,也
就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作
相应的转换。
系统默认的是以文本模式打开,可以修改全部变量_fmode 的值来修改
这个设置,例如_fmode=O_TEXT;就设置默认打开方式为文本模式;而
_fmode=O_BINARY;则设置默认打开方式是二进制模式。
我们也可以在模式字符串中指定打开的模式,如"rb"表示以二进制模式
打开只读文件,"w+t"或"wt+"表示以文本模式打开读/写文件。
此函数返回一个 FILE 指针,所以申明一个 FILE 指针后不用初始化,而
是用 fopen()来返回一个指针并与一个特定的文件相连,如果成败,返回
NULL
例如:
以下是引用片段:
FILE *fp;
if(fp=fopen("123.456","wb"))
puts("打开文件成功");
else
puts("打开文件成败");
1.1.1
fclose() 关闭流
fclose()的功能就是关闭用 fopen()打开的文件,其原型是:int
fclose(FILE *fp);如果成功,返回 0,失败返回 EOF。
在程序结束时一定要记得关闭打开的文件,不然可能会造成数据丢失的
情况,我以前就经常犯这样的错误。
例:fclose(fp);