background image

参数 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);