按照字符的方式读取文件
按照行的方式读取文件
按照数据块的方式读取文件
按照格式化的方式读取文件
文件分类
记录文件:具有一定的结构记录组成,分为定长和不定长两种方式
流式文件:按照一个字符一个字符(字节)的方式顺序组成。
按照存储来分类:
设备文件:非存储文件,键盘,鼠标,显示器,打印机等等都属于设备文件
普通文件:存储介质文件(磁盘,磁带等等)
按照数据的组织格式分为:
文本文件:ASCII码文件,每个字符存放着字符的ascii值
二进制文件:数据按照其在内存中存放的样式进行存储
简单来说,用记事本打开不显示乱码,就是文本文件,否则就是二进制文件。
文件的读写是相对于程序来讲的,相对于内存的,
学习文件,网络编程,数据库编程属于横向编程。
文件读写API
fgetc fputc 按照字符读写文件
fputs fgets 按照行读写文件 (读写配置文件)
fread fwirte 按照块读写文件 (大数据块迁移)
fprintf 按照格式化进行读写文件
fprintf(fp, "%s = %s\n", pKey, pValue);
文件控制api
文件是否结束
文件指针的定位、跳转
fseek(fp, 0L, SEEK_END); //把文件指针从0位置开始,移动到文件末尾
//获取文件长度;
length = ftell(fp);
fseek(fp, 0L, SEEK_SET)
fgets将回车换行也放到内存中,将函数内存首地址+内存的长度,是内存块打包技术。
如何表达一个字符串,有两种方法,第一中是C风格的字符串,也就是以'\0'结尾的字符串,这一种不需要指定字符串的长度
第二种是通过一个指针地址,和一个数据长度联合表达字符串,这一种不限定为C语言的字符串,这一种称为内存块打包技术。
要快速学会调用API,知道是在主调函数分配内存还是被调用函数分配内存。