C语言文件学习
(1)保存:将数据从内存写到文件 打开:从内容读到内存
(2)文件可以分为文本文件和二进制文件两种
(3)C语言把文件看做数据流,以一维方式存储
(4)C语言的源程序是文本文件,目标文件和可执行文件是二进制文件(包含机器代码)
(5)文件系统分为缓冲文件系统和非缓冲文件系统
(6)缓冲文件系统:文件缓冲区由系统自动分配
非缓冲文件系统:需要编程者用C语言实现
(7)文件缓冲区时内存中用于数据存储的数据块
(8)文件指针时特殊指针,指向文件的结构类型
(9)文件指针fp++意味着指向下一个FILE结构
(10)打开文件:fopen(“文件名”,“操作”):r只写w只读w+读写r+读写a追加a+读写追加(r打开文本文件w建立新文本文件)
正常打开返回FILE结构地址,打不开输出NULL
(11)fclose(文件指针)
(12)fgetc用法:ch=fgetc(fp)
(13)fputc用法:fputc(ch,fp)成功返回ch,否则返回EOF
(14)fgets用法:fgets(s,n,fp),最多读n-1个字符,结尾自动添加\0,换行符保留EOF不保留,成功返回字符串,不成功返回空指针
(15)fputs用法:fputs(s,fp),结束符\0别入,成功返回第一个字符,否则返回EOF
(16)重定位文件首函数:rewind(FILE *fp)定位到文件开头
(17)指针移动控制函数:fseek(fp,文件偏移量,起始位置0/1/2)
(18)获取指针当前位置的函数:ftell(文件指针),失败返回-1L
(19)检测是否到了文章末尾,0表示未结束,1表示结束
(20)出错标记清除指针clearer(文件指针)
(21)fputc(fgetc(infp)+32,outfp)
(22)缓冲文件系统的文件缓冲区位于内存数据区中
(23)函数fgetc的作用是从指定文件读入一个字符,该文件的打开方式可以是读或读写
(24)用fseek函数可以改变文件的位置指针,从而实现对文件的顺序读写和随机读写