函数原形:
FILE *fopen(const char *path, const char *mode);
size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream);
//size元素大小,nmemb元素个数
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
int fseek(FILE *stream, long offset, int whence);
//offset为偏移量,整数表示右偏移,负数表示左偏移
fopen
返回值:成功:它返回一个指向FILE结构的指针,该结构代表这个新创建的流
(文件顺利打开后,指向该流的文件指针就会被返回)
失败:它就会返回一个空指针,errno会提示问题的性质
(如果文件打开失败,则返回NULL,并把错误代码存在errno中)
fwrite
返回值:如果成功,该函数返回一个 size_t 对象,表示元素的总数,该对象是一个整型数据类型。如果该数字与 nmemb 参数不同,则会显示一个错误。
fread
返回值:成功读取的元素总数会以 size_t nmemb对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。
fseek
whence参数:
SEEK_SET 文件开头
SEEK_CUR 当前位置
SEEK_END 文件结尾
返回值:成功返回 0, 失败返回-1
fclose(FILE *)
fopen常用mode
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。(常用)
rb+ 读写打开一个二进制文件,允许读数据。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。