文件
文件指的是存储在外部介质上数据的集合,外部介质指的是磁盘。随着计算机的发展,文件种类也越来越多,不同的文件用不同的后缀名区分。但主要可以分为两类,ASCII文件和二进制文件
二进制文件:
不进行转换的文件,既直接输入输出都为01码形式的文件,比如映像文件等,计算机可以直接读取
ASCII文件:
又称为文本文件,也就是我们可读的文件,需要由01码转换为文本例如text
ANSI C标准
采用缓冲文件系统处理数据文件,运作方式为在内存中开辟一块空间作为缓冲区
用户需要文件,文件首先到缓冲区,再到用户
输入数据,也同样先送到缓冲区,再进磁盘
文件指针****头文件#include <stdlib.h>
定义方法:FILE*fp //FILE大写
定义fp是一个指向file类型的指针,该指针指向文件在缓冲区的相关信息(文件信息区:文件名,当前位置…)
fopen函数
用于打开文件
使用方法:fopen(文件名,使用方法)
文件名为你所需要打开的文件路径,或者指针
使用方法
符号 含义 如文件不存在
r只读 只读 出错
覆盖写入 覆盖写入 建立新文件
a追加 尾部写入 出错
rb只读 打开为二进制文件 出错
wb只写 写入二进制 新建文件
ab追加 向二进制尾添加数据 出错
在尾部加入"+"为可读写
(这里我们仅仅只是打开!并没有对文件进行任何操作)
后面还有其他文件操作类函数,下次再写
fclose(文件指针)关闭文件,避免丢失数据,缓冲区不满,文件是不会存入磁盘的
顺序读写,从前往后
fgetc(文件指针)
读入一个字符,失败返回-1
fputc(要写入的字符,文件指针)
将字符写入指定文件,失败返回-1
执行以下代码
#include<stdio.h>
#include<stdlib.h>
char main()
{
FILE *f1;//定义一个文件指针
f1=fopen(“111.txt”,“r+”);/在缓存区以r+方式打开文件,需要注意!如果是其他位置的文件,路径之间的单斜杠,需要换为双斜杠/
fputs(“aaa”,f1);//输入"字符串"到f1所指指针文件中
fclose(f1);//关闭保存
}
**r(只读) | ** w(只写) |
---|---|
a(追加写) | r+(读写.不删除旧的) |
w+(读写.删除旧的) | a+(读写.追加) |
rb(只读二进制) | – |
fread(),fwrite()
fscanf(),fprintf()
fget()fputs()
fgetc()fputc()
错误检测ferror()
clearerr()
rewind()
fseek()