1、文件:有限信息记录的集合。
eg: note.txt
2、文件存储:只能在存储在外存中
3、文件分类:
1、文本文件:文件中存放的字符(Byte)
2、二进制文件:存放的是二进制信息的文件
4、文件的路径:存放的位置
文件名:一个文件的标识
5、操作文件:
1、打开 FILE* fopen("路径","操作方式")
注: 打开失败,返回NULL
2、操作(读,写)
3、关闭 fclose();
注:可能文件读写不成功
6文本文件:文件中存放的字符
操作方式:
r 只读打开 :如果文件不存在,则打开失败。否则以只读打开
w只写:如果文件不存在,则创建文件。否则截断为0(清空)再打开
r+ 读写打开 w+读写打开 a追加 a+
***文本文件的结束字符:EOF
6.1写入:
fputc
fputs(char*,FILE*);
fprintf()格式化输出:
本质:1、(只能存储二进制)文本文件的信息存储就是二进制 。
2、写入时:将字符转换ASCII码,存放,读取时再将ASCII转换为字符
3、每一个FILE中都有一个文件的读写位置,用于记录读取的位置在哪。
6.2读取:以读r
1、打开文件fopen("路径","读"); //r /r+
2、读取:
1、int fgetc(FILE*);读取一个字符
2、fgets(char* buf,size,FILE); 读取一行
3、fscanf(FILE*,"format",...);//从文件中获取
3、关闭:fclose();
6.3 API:
1、获取文件的读写位置长度:ftell()
2、修改文件的读写位置:fseek();
int fseek(FILE *stream, long offset, int whence);
stream:文件
whence:文件的位置(SEE_SET头 当前位置SEET_CUR 文件的末尾)
offset:偏移量 (+后移 -前移)
2、判断文件是否完成:指向EOF
feof();
7二进制:信息都是以二进制信息存放到文件中
操作文件步骤 :
1、打开 fopen("路径","操作方式");
操作方式 :
rb:以只读打开,如果文件不存在,则打开失败
rb+ 以读写打开,如果文件不存在,则打开失败
wb 以只写打开,如果文件不存在,则创建,否则截断
wb+ 以读写打开,如果文件不存在,则创建,否则截断
ab 读写以追加打开
ab+
2、操作(读,写)
fread(void* ptr, size_t size, size_t nmemb,
FILE *stream)
返回:读取的实际次数
size_t fwrite(void* ptr, size_t size, size_t nmemb,
FILE *stream);
ptr:数据的首地址
size:一次写入的长度
nmemb:写入的次数
stream:文件
返回:写入的实际次数
3、关闭
fclose();