《c语言从入门到精通》看书笔记——第14章 文件

来源:互联网 发布:淘宝网电器城 编辑:程序博客网 时间:2024/06/12 19:26
1、文件的基本操作
     (1)文件指针
          文件指针是指向文件有关信息的指针,这些信息包含文件名,状态,和当前位置,他们保存在一个结构体变量中。在使用文件时需要在内存中为其分配空间,用以存放文件的基本信息。该文件是由系统定义的,C语言规定该类型为FILE型,声明如下:
          typedef struct
           {
               short level;
     unsigned flags;
     char fd;
     unsigned char hold;
     short bsize;
     unsigned char *buffer;
     unsigned ar *curp;
     unsigned istemp;
     short token;
          }FILE;
          在编写程序时可以直接定义上面的FILE类型来定义变量,但不必全部写出结构中的内容,只需要写成:
           FILE *fp;
     fp是一个指向FILE类型的指针变量。
     (2)文件的打开
          fopen函数用以打开一个文件,打开文件的操作就是创建一个流。fopen函数原型在stdio.h中,调用形式如下:
          FILE *fp;
          fp=fopen(文件名,使用文件方式);
     
          fopen函数打开文件成功,则返回一个有确定指向的FILE类型指针;若打开失败,则返回NULL。
     (3)文件的关闭
          fcose函数用以关闭文件,原型在stdio.h中,调用的一般形式为:
          fclose(文件指针);
          例如:fclose(fp);
          fclose函数带回一个返回值,当正常完成关闭文件操作时,fclose函数返回一个0,否则返回EOF。
2、文件的读写
     (1)fputc函数
          ch=fputc(ch,fp);
          该函数的作用是把一个字符写到磁盘文件(fp所指向的文件)中去。其中ch是要输出的字符,它可以是字符常量也可以是字符变量。fp是文件指针变量。如果输出成功,则返回值就是输出的字符,否则返回EOF。
     (2)fgetc函数
          ch=fgetc(fp);
          该函数的作用是从指定的文件(fp指向的文件)读入一个字符赋给ch。需要注意的是,该文件必须是以读或读写的方式打开。当文件遇到文件结束符时将返回结束标志EOF。
     (3)fputs函数
          fputs(字符串,文件指针)
          该函数的作用是向指定的文件写入一个字符串,其中字符串可以使字符串常量,也可以是字符数组名、指针或变量。
     (4)fgets函数
          fgets(字符数组名,n,文件指针);
          该函数的作用是从指定的文件中读一个字符串到字符数组中。n表示所得到的字符串中字符的个数(包含“\0”)。
     (5)fprintf函数:读磁盘文件
          ch=fprintf(文件类型指针,格式字符串,输出列表);
          例如:fprintf(fp,"%d",i);
          他的作用是将整型变量i的值以“%d”的格式输出到fp指定的文件中。
     (6)fscanf函数:写入磁盘文件
          fscanf(文件类型指针,格式字符串,输入列表);
          例如:fscanf(fp,"%d",&i);
          他的作用是读入fp所指向的文件中的i的值。
     (7)fread和fwrite函数:整块读写
          fread(buffer,size,count,fp);
          该函数的作用是从fp所指的文件黄总读入count次,每次读size字节,如如的信息存入buffer地址中。
          fwrite(buffer,size,count,fp);
          该函数的作用是将buffer地址开始的信息输出count次,每次写size字节DOAfp指定的文件中。
3、文件的定位
     (1)fseek函数
          借助缓冲型I/O系统中的fseek函数可以完成随机读写操作
          fseek(文件类型指针,位移量,起始点);
          该函数的作用是移动文件内部位置指针。其中,“文件类型指针”指向被移动的文件;“位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64kb时不会出错。“起始点”有三种。如下:
               起始点
起始点表示符号数字表示文件首SEEK - SET0文件当前位置SEEK - CUR1文件末尾SEEK - END2
          例如:fseek(fp,-20L,1);
     (2)rewind函数
          int rewind(文件类型指针)
          该函数的作用是使位置指针重新返回文件的开头,该函数没有返回值。
     (3)ftell函数
          long ftell(文件类型指针)
          该函数的作用是得到流式文件中的当前位置,用相对于文件开头的位移量来表示。当返回值是-1L时,表示出错。
0 0