导图社区 文件
C语言之文件操作知识梳理,包括文件概念、文件操作(文件系统)、文件的打开/关闭、文件的读写、删除文件等等。
怎么学好数学,在学习高中数学时,首先要理解概念,而不是死记硬背。对于难以理解的概念,可以通过画图、举例子等方式来帮助自己理解。
DCM4623调试步骤的思维导图,主要在于确保电子设备的正常运行,并及时发现和修正潜在的问题。
数据库理论与应用,在关系数据库中,数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
文件
文件概念
相关数据的有序集合
分类
ASCII码存储
二进制存储
标准输入输出
stdout
标准输出
屏幕
stdin
标准输入
键盘
stderr
标准错误
文件操作(文件系统)
基于缓冲区的文件操作
标准c语言支持
输入数据先放在输入缓冲区,遇到一定条件才会被读取
\n
输出数据先放在输出数据缓冲区里边,遇到一定的条件才会在屏幕上显示
程序正常结束
'\n'
fflush
基于非缓冲区的文件操作
文件操作指针
文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件。文件关闭时,它的文件结构体被释放。
对文件进行操作就是通过该结构体
c语言提供了一些标准的文件操作函数,可以直接使用
文件的打开/关闭
路径
相对路径
绝对路径
fopen
·函数原型: FILE *fopen(char *name, char *mode);
函数参数
name:
文件名/文件路径
mode
打开文件的方式
r
以只读的方式打开文件
不会新建文件
r+
以读写的方式打开文件
w
以只写的方式打开文件
每次都会新建文件
w+
a
以追加的方式打开文件
可以新建文件
a+
·功能:按指定的方式 mode 打开文件名为 name 的文件。
·返回值:正常打开,返回指向文件结构体的指针;打开失败,返回 NULL。
fclose
·函数原型: int fclose(FILE* fp);
·功能: 关闭 fp 所指向的文件
·返回值:正常关闭返回 0;出错时,返回非 0
·使用方法: fclose(fp);
文件的读写
单个字符读写
fgetc:读
函数原型: int fgetc(FILE *fp);
功能:从 fp 指向的文件中读取一字节代码
返回值:正常,返回读到的代码值;读到文件尾或出错,为 EOF(-1)
fputc:写
函数原型: int fputc(int c, FILE *fp);
功能:把一字节代码 c 写入 fp 指向的文件中
返回值:正常,返回 c;出错,为 EOF(-1)
feof
函数原型: int feof(FILE *fp);
功能:判断文件是否到末尾
返回值:文件未结束,返回 0;文件结束,返回真(非 0)
getchar
putchar
两个函数只能针对标准输入输出设备进行操作
字符串读写
fgets
函数原型
char *fgets(char *s, int size, FILE *stream);
函数功能
从文件里边获取size个字节的字符串,存放在s里边
函数返回值
成功返回获得的字符串地址,失败或者到达文件结尾返回NULL
fputs
int fputs(const char *s, FILE *stream);
将字符串S写入文件里边
成功返回非0值,失败返回EOF(-1)
块读块写
fwrite
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
将ptr里边的内容写入文件里边,一次写size字节,写nmenb次
成功返回写入的字节数,失败或者到达文件结尾返回0。
fread
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
从文件里边读取字符到ptr里边,一次读取size字节,读取nmemb次
成功返回读出的字节数,失败或者到达文件结尾返回0。
格式化读写
fprintf
int fprintf(FILE *stream, const char *format, ...);
...代表该函数有可变参数
int printf(const char *format, ...);
输出字符到文件里边
fscanf
int fscanf(FILE *stream, const char *format, ...);
int scanf(const char *format, ...);
从文件里边读取字符串
文件指针定位函数
fseek
int fseek(FILE *stream, long offset, int whence);
可以定位到任何位置
stream
文件指针
offset
偏移量
可正可负
whence
参考位置
SEEK_SET
文件开头
SEEK_CUR
当前位置
SEEK_END
文件结尾
成功返回0,失败返回-1
rewind
函数原型: void rewind(FILE *fp)
功能:重置文件位置指针到文件开头
返回值:无
ftell
返回当前文件读写指针的位置,常用来求文件的大小
long ftell(FILE *stream);
参数
返回值
成功返回文件指针当前位置
失败返回-1
删除文件
remove
int remove(const char *pathname);
作业
1,练习文件操作内容
2,使用文件操作写学生管理系统,实现保存学生信息