文件操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.2 文件操作
C语言程序中对文件的操作一般可分为“四步走”:第一步,定义文件(FILE)类型指针变量;第二步,用fopen()函数打开文件;第三步,对文件进行读或写操作;第四步,用fclose()函数关闭文件。
下面一一进行讲述。
7.2.1 文件指针
在缓冲文件系统中,每个被使用的文件都在内存中开辟一个区域,用来存放文件的有关信息(如文件名、文件的状态以及文件的当前位置等)。这些信息是保存在一个结构体类型的变量中的,该结构体类型是由系统定义的,取名为FILE,VC6.0中此结构体的具体定义如下:
struct _iobuf
{
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
上面的typedef用于为现有类型创建一个新的名字,即为类型“struct _iobuf”创建了一个新的名字“FILE”。
有了FILE类型之后,可以用它来定义若干个FILE类型的变量,以便存放文件信息。例如:
FILE *fp;
fp是一个指向FILE类型结构体的指针变量。可以使fp指向某一个文件的结构体变量,从而通过该结构体中的文件信息访问该文件。
7.2.2 文件操作基本步骤示例
下面通过实际例子对文件的操作加以演示。
例1:编写程序,从键盘输入若干个数,降序排序后存入文件jieguo.txt中去,同时将结果在屏幕上显示。
分析:此例算法比较简单,主要涉及到文件的基本操作,直接给出程序如下:#include
#include
#define N 10
void main()
{
int a[N+1],i,j;
FILE *fp;//定义FILE(文件)类型指针变量
printf("\n请输入%d个待排序的数(整数):",N);
for(i=1;i<=N;i++) //输入原始数据
scanf("%d",&a[i]);
for(j=1;j<=N-1;j++)
for(i=j+1;i<=N;i++)