文件打开函数:fopen
fopen函数是在当前目录下打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式);
ex:
FILE *fr = fopen(srcpath,"r");
FILE *fw = fopen(despath,"w");
FILE *fw = fopen(despath,"w");
FILE *fr =fopen("c:\\1.test","rb");
其意义是打开C驱动器磁盘的根目录下的文件1.test,两个反斜线“\\ ”中的第一个表示转义字符,第二个表示根目录。
在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。
断言:assert(fw != NULL)
关闭文件函数:fclose
可以把缓冲区内最后剩余的数据输出到内核缓冲区,并释放文件指针和有关的缓冲区。
与 FILE *fp = fopen("", "");相对应。
返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1).
文件写入函数:fwrite
fwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。
函数原型:
fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
-- buffer:指向数据块的指针
-- size:每个数据的大小,单位为Byte(例如:sizeof(int)就是4)
-- count:数据个数
-- stream:文件指针
注意:返回值随着调用格式的不同而不同:
(1) 调用格式:fwrite(buf,sizeof(buf),1,fp);成功写入返回值为1(即count)
(2)调用格式:fwrite(buf,1,sizeof(buf),fp);成功写入则返回实际写入的数据个数(单位为Byte)
文件读取函数:fread
函数原型: fread(void *buffer,size_t size,size_t count,FILE *stream);
返回值:读取的元素的个数
使用文件的方式共有12种,下面给出了它们的符号和意义:
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+”
打开或新建一个二进制文件,可以读,但只允许在文件末尾追写
文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 只读
w(write): 只写
a(append): 追加
t(text): 文本文件,可省略不写
b(binary): 二进制文件
+: 读和写
