C语言文件操作 |
您所在的位置:网站首页 › c语言数据存入文件 › C语言文件操作 |
文章目录
一、文件的简介二、文件的使用第一步:打开文件1.1 文件指针(FILE结构体)1.2 文件的打开
第二步:文件读写操作2.1 文本文件的读写:2.2 二进制文件的读写2.3文件位置指针相关操作函数
第三步:关闭文件
三、结语:
一、文件的简介
文件可以是文本文档、图片、程序等等,文件一般讲两种:程序文件和数据文件; 程序文件: 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe) 数据文件: 包括程序运行时所读写的数据。本篇所涉及的就是数据文件(文本文件、二进制文件)。 那它有什么卵用呢,简单来说就是程序运行时的数据在程序结束时就消失了,如果我们想记录这些数据,就可以用文件保存(也可以放到数据库中)。 二、文件的使用简单来说文件的使用就三步:打开文件、进行读/写操作、关闭文件。 第一步:打开文件首先我们要了解FILE、文件指针,文件的打开是用函数打开的,下面先介绍FILE、再介绍具体的函数和其函数的形参。 1.1 文件指针(FILE结构体)1.文件指针 我们对文件进行一系列的操作——打开文件、关闭文件、向文件中写入数据、从文件中读出数据。所有的操作都离不开文件指针。 文件指针: FILE* FILE结构体:每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中,取名FILE。 FILE* :通过一个FILE的指针来维护这个FILE结构的变量,对文件进行操作。 FILE* pf;//文件指针变量 使用: FILE *pf; 定义一个文件指针变量pf,它可以指向某个文件的文件信息区,通过其即可访问到该文件。 1.2 文件的打开fopen()函数-打开文件 FILE * fopen ( const char * filename, const char * mode ); const char *filename:文件名(如:“t.txt”); 文件名说明: 应包含三部分:文件路径+名字+后缀,如 C:\\code\\t.txt 需要注意的是,在 Windows 操作系统中,文件路径中的反斜杠(\)需要使用两个来进行转义(\)。如果不写那么默认路径是你这个程序所在的文件目录下查找或者新建。 const char *mode:打开文件的方式,具体如下:![]() 那么这个就是以读写的方式建立一个名为”text.txt“的文件。 第二步:文件读写操作说明:文件读写分为二进制和文本文件的读写,读写方式又分为顺序和随机读写,所谓的顺序读写就是从文件开始进行读写操作,所谓的随机读写就是和文件指针位置相关的读写,在2.3中介绍 2.1 文本文件的读写:文件的读写操作也是通过函数进行的,具体如下: 1.fputc(‘a’, pf);//往pf所指文件写入字符’a’ 2.int ch=fgetc(pf);//从pf所指的文件位置读取一个字符 3.fgets读取多个数据(字符串),fgetc只读一个 形参很简单,看一下例子就ok char arr[10] = { 0 }; fgets(arr, 5, pf); //将所读取的5个数据放入arr中
4.fputs//写入一行数据但会覆盖原始数据` 5.格式化输入函数-fscanf() int fscanf(FILE *fp, const char *format,.....);说明:第一个参数是文件指针,第二个参数是格式控制函数,第三个是地址参数列表,直接给出例子,其实就是scanf加上了个文件指针而已 6.fprintf()函数 同理也是多了个文件指针 1.二进制输入-fread() size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)额…有点长,大概就是这样 fread(参数1,参数2,参数3,参数4) 参数1 :这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。(说人话就是你定义的要读到变量的名字)参数2:要读取的每个元素的字节大小。参数3:元素的个数参数4:文件指针pf
1.ftell()函数-返回文件位置指针相对于起始位置的偏移量 ftell(FILE*)//参数为文件指针
如图指定初始偏移位置为文件开头SEEK_SET,偏移量为1,打印后位置指针相对于起始位置偏移量便是1 参数就是前面创建的文件指针; 三、结语:好那么好,终于整完了,因为部分原因,有些内容考试不考,所以还是是不够全面,都是关于文件读写操作的细节、但是为了能尽力包含文件所有内容,方便以后学习查阅,后续会再出一篇文章来对此进行扩展完善,对以下内容进行说明: 1.fflush():将缓冲区内容写入物理设备。 2.标准输入/输出重定向:“"。 3.sscanf()和sprintf()函数。 4.文件读取结束的判定:ferror()函数、feof函数。 5.文件缓冲区的相关说明。 6.二进制文件和文本文件的区别 7.按数据块读取文件:用fread、fwrite、结构体,结合保存学生多种信息代码实例加深文件操作的理解应用。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |