1.文件类型
1.文件名
文件名包括3部分:文件路径+文件名主干+文件后缀。
2.二进制文件和文本文件
数据在内存中以二进制的形式存储,如果不加转换的输出到外存的文件中就是二进制文件。
以ASCII字符形式存储的文件就是文本文件。
字符一律以ASCII形式存储,数值型数据可以用ASCII形式存储,也可以以二进制的形式存储。
下述代码表示将一个数据以二进制形式写入文件中。
#include<stdio.h>
int main(){
int a = 10000;
FILE* pf = fopen("test.txt","wb");
fwrite(&a,4,1,pf);//把1个4字节的a写入文件中
fclose(pf);
pf = NULL;
return 0;
}
注:二进制文件可以鼠标右键选择打开方式为二进制编辑器打开,存放顺序与大小端有关。
2.文件的打开和关闭
2.1标准流
C语言程序在启动时,默认打开三个流:
stdin:标准输入流,scanf就是从标准输入流中读取数据。
stdout:标准输出流,大多数输出到显示器界面,printf就是将信息输出到标准输出流中。
stderror:标准错误流,大多数输出到显示器界面。
2.2文件指针
使用文件,打开文件等操作内存中会创建一个和这个文件相关的文件信息区,用于存放文件相关信息(FILE类型结构体)。文件指针FILE* pf 来储存文件信息区的地址,可以间接找到和他关联的文件进行操作。
在C语言中,通过FILE*的文件指针来维护流的各种操作的。
2.3文件打开,关闭
fopen:FILE* fopen(const char* filename, const char * mode);文件名和打开方式
打开方式简介:
"r":文件必须是已经存在,文件如果不存在,则打开失败返回NULL,目的是输入文件。
"w":如果文件存在,清空已有文件,如果不存在,创建一个新文件,目的是输出文件。
fclose(pf);pf = NULL;关闭文件,并避免野指针出现。
2.4绝对路径和相对路径
绝对路径:桌面上的文件为例,右击->属性查看路径。
相对路径:"."表示路径,".."表示上一级路径,例如"./../.../test.txt"。