标准C库函数:文件操作函数

seek:定位    append:追加

1.文件操作的标准库函数如下:fopen /fclose /fread /fwrite /fseek

fopen原型:FILE *fopen(const char *filenamem,const char*mode);

功能:打开文件

参数:filename:指定要打开的文件名,建议绝对路径  mode:

r
以只读方式打开文件,该文件必须存在。
r+
以读/写方式打开文件,该文件必须存在。
rb+
以读/写方式打开一个二进制文件,只允许读/写数据。
rt+
以读/写方式打开一个文本文件,允许读和写。
w
打开只写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。
w+
打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。
a
以附加的方式打开只写文件。若文件不存在,则会创建该文件;如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF 符保留)。
a+
以附加方式打开可读/写的文件。若文件不存在,则会创建该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF符不保留)。
wb
以只写方式打开或新建一个二进制文件,只允许写数据。
wb+
以读/写方式打开或新建一个二进制文件,允许读和写。
wt+
以读/写方式打开或新建一个文本文件,允许读和写。
at+
以读/写方式打开一个文本文件,允许读或在文本末追加数据。
ab+
以读/写方式打开一个二进制文件,允许读或在文件末追加数据。

fwrite功能:向文件写入数据

参数:ptr:要传递保存向文件写入数据的内存的首地址

size:指定要写入的单个数据块的大小,例如:单个数据块大小=4字节

nmemb:指定要写入数据块的个数,例如:数据块的个数为3,结果总共写12字节

stream:传递文件指针

返回值:写入失败返回-1,写入成功返回实际的字节数

 

fread函数

unsigned long fread(void *buffer,unsigned long size,unsigned long count,FILE *stream);

功能:从文件读取数据,将硬盘上的数据读取到内存中来

buffer:指定保存读取数据的内存首地址

size:指定要读取的单个数据块大小

count:指定要读取数据块的个数

fp:文件指针

 

rewind函数

void rewind(FILE *fp)

功能:将文件指针定位到文件开头

fp:文件指针

 

fseek函数

函数功能:定位文件指针(定位游标)

原型 int fseek(FILE *fp,long offset,int fromwhere);

参数:

fp:文件指针,游标

offset:从文件的哪个地址开始

fromwhere:需要指定以下宏

    SEEK_SET:文件头

    SEEK_CUR:当前位置1

    SEEK_END:文件尾

 

posted @ 2021-04-26 23:37  盾牌座UY  阅读(279)  评论(0)    收藏  举报