关闭

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

标签: c语言文件的基本操作文件的定位
356人阅读 评论(0) 收藏 举报
分类:
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 - SET 0
文件当前位置 SEEK - CUR 1
文件末尾 SEEK - END 2
          例如:fseek(fp,-20L,1);
     (2)rewind函数
          int rewind(文件类型指针)
          该函数的作用是使位置指针重新返回文件的开头,该函数没有返回值。
     (3)ftell函数
          long ftell(文件类型指针)
          该函数的作用是得到流式文件中的当前位置,用相对于文件开头的位移量来表示。当返回值是-1L时,表示出错。
0
0
查看评论

C语言入门(二十)结构体

结构体  前言: 结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。结构中可以使用不同的数据类型。 一、结构说明和结构变量定义 在Turbo C中,结构也是一种数据类型,可以使用结构变量,因此,象其它类型的变量一样, 在使用结构变量时要先对其定义。 定义结...
  • caihongdao123
  • caihongdao123
  • 2016-07-12 17:03
  • 6546

java从入门到精通实例版

java从入门到精通实例版是一本权威的java图书,明日科技编著,已经将其扫描为pdf高清文档,并附带了相应的光盘代码,用户可以放在电脑上、手机上阅读。    全书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了进行java应用程序开发应...
  • folgenfF
  • folgenfF
  • 2018-01-10 14:18
  • 42

C语言入门教程:c语言从入门到精通(2016最新版)

C语言入门教程地址:http://c.biancheng.net/cpp/u/jiaocheng/
  • hhsu28
  • hhsu28
  • 2016-10-25 20:45
  • 730

Java从入门到精通阅读笔记(第4版)4

Java常见异常 ClassCastException 类型转换异常 ClassNotFoundException 未找到相应类异常、 ArithmeticException算数一场 ArrayIndexOutOfBoundsException数组下标越界异常 ArratStoreExce...
  • zarathurstra
  • zarathurstra
  • 2017-03-02 21:21
  • 522

C语言从入门到精通所需的7本书

1. C Primer Plus  ![image.png](http://upload-images.jianshu.io/upload_images/1956008-f959cc5bbec7f36f.png?imageMogr2/auto-orient/strip%7Cima...
  • bobohelloworld
  • bobohelloworld
  • 2018-01-12 23:49
  • 114

asp.net从入门到精通第三版光盘全部内容

asp.net从入门到精通第三版光盘
  • qq_22973115
  • qq_22973115
  • 2016-10-03 18:05
  • 2321

linux从入门到精通(第2版)pdf

下载地址:网盘下载 内容简介 编辑 Linux是目前增长最迅速的操作系统。《Linux从入门到精通》由浅入深、循序渐进地向读者介绍Linux的基本使用和系统管理。全书内容包括Linux概述、Linux安装、Linux基本配置、桌面环境基本操作、Shell基本命令、文件和...
  • cf406061841
  • cf406061841
  • 2017-05-30 12:56
  • 1799

ORACLE从入门到精通 明日科技编著 清华大学出版社

http://pan.baidu.com/s/1gePoRAV
  • ggkmskj
  • ggkmskj
  • 2017-06-07 17:04
  • 1137

Java从入门到精通阅读笔记(第4版)6

大数字运算 Java中提供了大数字的操作类,即java.math.BigInteger和java.math.BigDecimal类 BigInteger public BigInteger(String val) BigInteger twoInstance=new BigInteger(&quo...
  • zarathurstra
  • zarathurstra
  • 2017-03-07 21:10
  • 476

书单(一)JavaScript从入门到精通(第二版)

书单(一)JavaScript从入门到精通(第二版) 1、这本书适合初学JavaScript的同学们,因为我也是刚刚进入web开发的行列来,所以也是小白一名,选择这本书作为入门,应该可以的。 2、读这本书之前,可能你都不知道什么是JavaScript,JQuery,Ajax等等,学习web方面就是术...
  • wild46cat
  • wild46cat
  • 2016-03-15 23:58
  • 957
    个人资料
    • 访问:16960次
    • 积分:402
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章分类