达者为先 师者之意
C语言标准库函数文件操作
1 fopen打开流
头文件
#include <stdio.h>
函数原型
FILE * fopen(const char *path,cost char *mode);
作用:打开一个文件,返回指向该文件的指针(返回值为指向该文件的指针)
*FILE *stream // 文件指针,FILE结构体又被称作流
path:欲打开文件的文件路径及文件名,
mode:表示对文件的打开方式
mode有以下值:
- r:只读方式打开,文件必须存在
- r+:可读写,必须存在
- rb+ :打开二进制文件,可以读写
- rt+ : 打开文本文件,可读写
- w : 只写,文件存在则文件长度清0,文件不存在则建立该文件
- w+ : 可读写,文件存在则文件长度清0,文件不存在则建立该文件
- a : 附加方式打开只写,不存在建立该文件,存在写入的数据加到文件尾,EOF符保留
- a+ :附加方式打开可读写,不存在建立该文件,存在写入的数据加到文件尾,EOF符不保留
- wb :打开二进制文件,只写
- wb+ : 打开或建立二进制文件,可读写
- wt+ : 打开或建立文本文件,可读写
- at+ : 打开文本文件,可读写,写的数据加在文本末尾
- ab+ : 打开二进制文件,可读写,写的数据加在文件末尾
fopen() 会获取文件信息,包括文件名、文件状态、当前读写位置等,并将这些信息保存到一个 FILE 类型的结构体变量中,然后将该变量的地址返回。
FILE 是 <stdio.h> 头文件中的一个结构体,它专门用来保存文件信息。我们不用关心 FILE 的具体结构,只需要知道它的用法就行。
如果希望接收 fopen() 的返回值,就需要定义一个 FILE 类型的指针。
例如:
FILE *fp = fopen("./test.txt", "r");
- 表示以“只读”方式打开当前目录下的 test.txt 文件,并使 fp 指向该文件,这样就可以通过 fp 来操作 demo.txt 了。fp 通常被称为文件指针。
再来看一个例子:
FILE *fp = fopen