文件操作函数
文章目录
看完这篇文章你的文件操作函数就可以出师了
使用文件可以永久的保存数据在硬盘上,保存好的数据可以自行决定放在云盘还是什么地方
这次主要讲的是如何生成一个文件或者访问文件里面的数据,并对文件进行操作
使用文件将数据直接存放在电脑的硬盘上,做到了数据的持久化。
文件类型
有两种常用的:
- 程序文件 :是我们写的程序临时产生的文件,这个文件随着程序每次运行都会自己改变,后缀为
.c.cobj.exe
等 - 数据文件:是程序运行时访问输入输出的文件,也是这次要涉及的文件操作,后缀为
txt,dat……
文件名
文件名3部分:文件路径+文件名主干+文件后缀
对于c:\code\test.txt
文件路径:c:\code
主干:test
文件后缀:.txt
这里的文件名指的是程序如何在硬盘去寻找文件,我感觉叫文件路径比较好
就是文件操作时,需要提供的文件名,本质上就是文件的地址,也就是程序寻找文件的路径
文件路径常用的也有两类:
对于"D:\BaiduNetdiskDownload\nb de road\nb de road\test.txt"
这个例子
-
绝对路径:
"D:\BaiduNetdiskDownload\nb de road\nb de road\test.txt"
从d盘开始,一直到文件自己,最详细的地址就是绝对路径,也是最准确的,既可以在项目里面又可以在项目外面
-
相对路径:
"test.txt"
这个就是文件名,不过这个文件也被限定在了项目里面,只有这个文件在程序运行的项目里面才行,因此也可以省略前面项目的地址,项目地址
"D:\BaiduNetdiskDownload\nb de road\nb de road"
文件操作函数
文件指针 FILE
头文件<stdio.h>
文件指针的类型申明:(不用了解)
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
该结构体类型是由系统声明的,取名FILE.
上面的文件指针的结构不必理会,只要知道FILE是文件指针的类型就够了,知道了这个类型就可以创建文件指针变量了,也就是创建一个文件指针变量来维护文件的内容,和之前的结构体一样,要先创建结构体类型的指针维护他申请的空间,这里是维护指向的文件
创建文件指针变量:FILE* pf;
文件的打开 fopen
格式:FILE * fopen ( const char * filename, const char * mode );
实际使用
#include <stdio.h>
int main()
{
FILE * pf = fopen