济南区网站开发,长沙人才网官网入口,一整套ppt背景图片,国内外贸网站目录 前言
1、为什么使用文件
2、什么是文件
2.1 程序文件
2.2 数据文件
2.3 文件名
3、文件的打开和关闭
3.1 文件指针
3.2 文件的打开和关闭
结#xff08;一#xff09; 前言 本篇文章将介绍C语言的文件操作#xff0c;在后面的内容讲到#xff1a;为什么使用文…目录 前言
1、为什么使用文件
2、什么是文件
2.1 程序文件
2.2 数据文件
2.3 文件名
3、文件的打开和关闭
3.1 文件指针
3.2 文件的打开和关闭
结一 前言 本篇文章将介绍C语言的文件操作在后面的内容讲到为什么使用文件什么是文件文件的打开和关闭文件的顺序读写文件的随机读写文本文件和二进制文件文件读取和结束的判定文件缓冲区。详细讲述了C语言的文件操作。此内容将分成三篇讲解这是第一篇。 1、为什么使用文件 在C语言中一个程序中的数据在其运行完成后会被自动销毁而我们如果想把程序运行后的数据保存起来的话就需要用到文件操作将运行出来的结果放到文件中电脑就会将其存放到硬盘上实现了数据的持久化。 2、什么是文件 硬盘上的文件是文件。 但在程序设计中我们一般谈的文件有两种程序文件、数据文件从功能的角度来分类的。
2.1 程序文件 以.c结尾的源程序文件以.obj结尾的目标文件以.exe结尾的可执行程序。
2.2 数据文件 文件的内容不一定是程序而是程序运行时读写的数据比如程序运行需要从中读取数据的文件或者输出内容的文件。 本章讨论的是数据文件。
2.3 文件名 文件名要有一个唯一的文件标识以便用户识别和引用。 文件名包含3部分文件路径文件名主干文件后缀 例如c:\code\test.txt 为了方便起见文件标识常被成为文件名。 3、文件的打开和关闭
3.1 文件指针 缓冲文件系统中关键的概念是“文件类型指针”简称“文件指针”。 每个被使用的文件都在内存中开辟了一个相应的文件信息区用来存放文件的相关信息如文件的名字文件状态及文件当前的位置等。这些信息是保存在一个结构体变量中的。该结构体类型是有系统声明的取名FILE. 每当打开一个文件的时候系统会根据文件情况自动创建一个FILE结构类型的变量并填充其中的信息使用者不必关心细节。 一般都是通过一个FILE的指针来维护这个FILE结构的变量这样用起来更加方便。 下面我们可以创建一个FILE*的指针变量
FILE* pf; 定义pf指针是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区是一个结构体变量。通过该文件信息区中的信息可以访问该文件。也就是说通过文件指针变量就能够找到与它关联的文件。 比如 3.2 文件的打开和关闭 文件子啊读写之前应该先打开文件在使用结束后应该关闭文件。 在编写程序的时候再打开文件的同时都会返回一个FILE*的指针变量也相当于建立了指针和文件的关系。 ANSIC规定使用函数fopen来打开文件fclose来关闭文件。 fopen函数参数有两个第一个是文件的名称第二个是打开方式。文件的打开方式有五种 包括r读w写arw;a。 fopen函数的返回类型为FILE*。 举个例子
#include stdio.h
int main()
{FILE* pf fopen(test.exe, w);return 0;
}这样我们就以写的方式打开了名为test.exe的文件。注意有可能打开文件失败所以在使用fopen之后应该加上一个判断语句判断fopen是否打开成功。当fopen打开文件失败后它会返回一个空指针因此我们可以这样判断 if (NULL pf){printf(%s\n, strerror(errno));return 1;}通过这个判断我们就可以知道文件是否成功打开。如果没有成功打开则会返回失败原因。注意在使用对应函数时应包含其对应头文件如printf头文件stdio.hstrerror头文件string.herrno头文件errno.h。 效果 我以读的方式打开了一个名叫test1.exe的文件运行后告诉我没有这样的文件。 在使用完文件后我们还需要关闭文件fclose 程序 fclose(pf);pf NULL; 这样就关闭了文件记得最后将pf赋值为NULL不然它会成为一个野指针。 整个程序的框架
#include stdio.h
#include stdlib.h
#include string.h
#include errno.h
int main()
{//打开文件FILE* pf fopen(test1.exe, r);if (NULL pf){printf(%s\n, strerror(errno));return 1;}//使用文件//......//关闭文件fclose(pf);pf NULL;return 0;
}这样就是一套完整的文件的使用框架。
结一 本篇内容先介绍到这里后续会在下一篇文章中讲解。希望对大家有所帮助。