<<轻松学会C语言>>20.系统调用(文件接口)
文件接口,就是对文件进行创建,读后写的操作。
系统已经定义了如下接口:
#include <stdio.h>
一:文件接口
要打开或创建文件之前,需要先定义一个文件指针,格式如下:
FILE *fp; // 文件指针
1.文件创建或打开接口
FILE *fopen( char * filename , const char *mode );
//功能fopen函数,以mode 模式 打开指定的filename文件,返回该文件的文件指针
//函数名:fopen
//返回类型:返回创建或打开文件的文件指针
如果失败,则返回NULL
//参数:name,为文件名
//参数:mode,为创建或打开模式
已存在文件 读模式(READ)
'r' :打开存在文本文件,只用于读 ; 不创建文件!
'r+': 打开存在文本文件,用于读或写,不创建文件
重新创建覆盖,写模式(WRITE)
'w':重新创建一个新文本文件:只用于写;并删除已经存在的文件
'w+':重新创建一个新文本文件: 用于读写;并删除已存在的文件
打开或重新创建只追加模式:(ADD)
'a': 打开或创建文本文件,并向文件最后追加内容;
每次读,写或追加后,到要 : fflush(FILE *fp);
在上面模式每个模式后面b, 表示对二进制文件访问:
'rb',“rb+”
'wb','wb+'
'ab'
2.文件缓冲区处理
在读写文件的时候,需要使用fflush();
int fflush(FILE *filename);
//功能:将缓冲区的内容更新到指定的文件指针;
如果失败,则返回NULL
3.文件读接口
size_type fread(void *buffer, size_type size ,size_type count,FILE *fp);
从fp 一次读取n个数据,每个数据大小为size, 然后写到buffer;
//函数名:fread
//函数功能:读取文件的内容到指定buffer内存区
//函数参数:buffer指针,用来保存读的数据
//函数参数: size, count , 为读取count 个 size 大小的数据
//函数参数:fp 为文件指针
//函数返回:返回读的count ; 如果出错返回 EOF
4.文件写接口
size_type fwrite(void *buffer, size_type size, size_type count, FILE *fp);
把buffer中 n个size 大小的数据写到文件fp;
//函数名:fwrite
//函数功能:把buffer 中的 size *count 个大小的数据写到文件fp
//函数参数:和上面一样
//函数返回:返回写的count; 如果出错 返回EOF
5.文件指针重置
int rewind(FILE *fp);
读写文件后,文件的读写位置已经到了最新读写的位置;为了把读写位置进行恢复到最开始,使用上面函数;
rewind(fp);将文件内部位置指针移到前面;
fseek(文件指针,位移量L,起始点)则可以移动到对应点
起始点 表示符号 数字表示
──────────────────────────
文件首 SEEK—SET 0
当前位置 SEEK—CUR 1
文件末尾 SEEK—END 2
5.文件关闭接口
int fclose(FILE *fp)
// 对所有未完成缓存进行写入,对正在读的处理,进行暂停读; 释放缓冲区; 最后关闭文件指针;
//如果出做,则返回EOF , 否则返回0
声名:以上内容为 七里稻田 原创
打开如下链接,可以查看所有课程+视频+ 模拟测试