FILE结构体
我们通常对文件进行操作时,都会使用一些与文件相关的函数,比如:
打开文件:FILE *fopen(const char *path,const char* mode)
关闭文件:int fclose(FILEE *fp)
读文件:size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream)
写入文件:size_t fwrite(const void *ptr,size_t size,size_t nmemb,FILE* stream)
这里提一下,上面这些函数都是通过流的形式来进行的,是和缓存区打交道的东西,下面说到缓冲机制会详细说。
先拿fopen来说,函数的返回值是FILE*,这是一个文件指针类型,
第一个参数是文件的路径,第二个参数是打开的方式。
如下:
“r”:打开只读文件,若不存在,则会报错。
“w”:打开只写文件,如果文件内有内容则会被直接清空,若不存在,则会自动创建。
“a”:以追加方式打开只写文件,若文件不存在,则会自动创建,如果文件存在,则在内容的最后进行写入。
诸如"a+","w+","r+"则都是以可读写的方式,不在赘述
“b”:以二进制的方式。
例:“ab+” 读写打开一个二进制文件,允