文件的有关概念
- 什么是文件?
- 文件是存储在外存储器上的数据的集合;
- 输入输出流:
- 针对文件中的数据进行输出(读取),输入(写入),类似于水流由一个地方流向另一个地方,所以形象的数据的输入输操作称之为输入输出流;
- 文件的分类:
- 1、文本文件(ASCII文件):数据按照字符存储方式存储的文件
- 2、二进制文件: 按照数据在内存中的存储方式存储的文件;
- 文件缓冲机制:
- ANSI C语言 对文件的操作采用文件缓冲机制;
- 系统会为每一个正在操作的文件创建文件(内存)缓冲区,针对文件中的数据操作都是在 文件缓冲区内进行的
- ANSI C语言 对文件的操作采用文件缓冲机制;
- FILE * 指针 (文件类型指针)
- FILE 系统提供 的一个结构体,结构体成员存储文件信息,(文件名,状态信息…);
- 用于接收文件缓冲区的地址,文件操作其实就是要利用该指针进行的。
文件的打开与关闭
- 打开文件:
- FILE fopen(const char path, const char * mode);
文件操作步骤:
从文件中读取一个字符串
- int fgets(char *s,int size,FILE *fp);- 从文件中读取一块指定数量的数据- size_t fread (void * ptr,size_t size, size_t count, FILE *fp);- 文件流中读取数据- int fscanf(FILE *stream, const char *format, ...);
写操作
- 向文件中写入一个字符
- int fputc(int ch,FILE *fp);
- 向文件中写入一个字符串
- int fputs(char *s,FILE *fp);
- 向文件中写入一块指定数量的数据
- size_t fwrite(void * ptr,size_t size, size_t count, FILE *fp);
- *ptr写入数据的位置
- size 以多少个字节位单位读取
- count 读取多少个单位的数据
- *fp 读取数据的文件位置
- int fprintf( FILE *stream, const char *format, ... );
文件位置指针
- 是系统一个隐含的指针,指向于目前数据的读取位置,如果读取完当前数据文件位置指针会向后依次移动,下次读写数据, 就从文件位置指针指向的位置开始
- 文件的顺序读写
- 按照字节(物理)位置顺序移动
- 文件的随机读取
- 可以对任意位置上的数据进行访问。
- rewind()
- int fseek(FILE *fp ,long offset,int whence);
- fssek(文件指针,位移量,起始位置);

- fssek(文件指针,位移量,起始位置);
- long ftell(FILE *fp);//获取当前文件位置
