美文网首页
C语言文件操作综述

C语言文件操作综述

作者: 永断阎罗 | 来源:发表于2016-11-08 17:05 被阅读0次

    文件指针

    FILE * 指针变量标识符
    作用:通过该指针即可找到存放某个文件信息的结构变量,然后按结构变量提供的信息找到该文件,实施对文件的操作。

    文件的打开和关闭

    • 文件的打开 :
      格式: 文件指针名 = fopen(文件名,使用文件方式);
      • “文件指针名”必须是被说明为FILE类型的指针变量
      • “文件名”是指文件的类型和操作要求
      • “使用文件方式”是指文件的类型和操作要求
      • “文件名”是字符串常量或字符串数组
    文件操作符 作用 备注
    r(read)
    w(write)
    a(append) 追加
    t(text) 文本文件,可省略不写
    b(banary) 二进制文件
    +(+号) 读和写
    • 注意 :

      • 凡是用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出;
      • 用“w”打开文件只能向该文件写入。若不存在,则建立新文件;若存在,则删除old文件,重新建立新的文件。
      • 向一个已存在的文件追加新的信息,只能用“a”的方式。
      • 在打开一个文件时,如果出错,则fopen返回一个空指针值NULL。
      • 把一个文本文件读入内存时,要将ASCLL码转换成二进制码,而把文件以文本方式写入磁盘是,也要将二进制码转换成ASCLL码。
      • 标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。
    • 文件关闭函数(fclose函数)
      格式: fclose(文件指针);
      作用: 避免文件的数据丢失,正常完成关闭文件时,fclose函数返回值为0,如返回非零值则表示有错误发生。

    文件的读写

    • 字符读写函数 : fgetc 和 fputc
    • 字符串读写函数 : fgets 和 fputs
    • 数据块读写函数 : fread 和 fwrite
    • 格式化读写函数 : fscanf 和 fprintf

    字符读写函数fgetc和fputc

    字符读写函数是以‘字符(字节)’为单位的读写函数。每次可从文件读出或向文件写入一个字符。

    • 读字符函数fgetc
      格式: 字符变量 = fgetc(文件指针);
      作用: 从指定的文件中读一个字符。

    • 注意 :

      • fgetc函数调用中,读取的文件必须是以读或读写方式打开的。
      • 读取字符的结果可以不向字符变量赋值
      • 在文件内部有一个位置指针,第一次总是第一个字节。多次读取时,注意位置指针的位置。
    • 写字符函数fputc
      格式: fputc(字符量,文件指针);
      作用: 把一个字符写入指定的文件中。

    • 注意 :

      • 被写入的文件可以用写、读写、追加方式打开,写入字符从文件首开始。
      • 每写入一个字符,文件内部指针位置向后移动一个字节。
      • fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回EOF。可以此来判断写入是否成功。

    字符串读写函数fgets和fputs

    • 读字符串函数fgets
      格式: fgets(字符数组名,n,文件指针);
      作用: 从指定的文件中读一个字符串到字符数组中。
      注意: n是一个整数。表示从文件中读出的字符串不超过n-1个字符,在读入的最后一个字符后加上串结束标志’\0‘

    • 读字符串函数fputs
      格式: fputs(字符串/字符数组名,文件指针);
      作用: 从指定的文件中写入一个字符串到字符数组中。

    数据库读写函数fread和fwrite

    读数据块数据的格式: fread(buffer,size,count,fp);
    写数据块数据的格式: fwrite(buffer,size,count,fp);

    • 其中
      • buffer -- 是一个指针,在fread函数中,它表示存放输入数据的首地址。在fwrite函数中,它表示存放输出数据的首地址。
      • size -- 表示数据库的字节数
      • count -- 表示要读写的数据库块数
      • fp -- 表示文件指针
    • 实例
      • fread(fa,4,5,fp); --> 意义: 是从fp所指的文件中,每次读4个字节(一个实数)送入实数组fa中,连续5次,即读5个实数到fa中。

    格式化读写函数fscanf和fprintf

    格式化读 : fscanf(文件指针,格式字符串,输入表列);
    格式化写 : fprintf(文件指针,格式字符串,输出表列);

    文件定位

    rewind(文件指针);
    功能: 把文件内部的位置指针移到文件首。
    fseek(文件指针,位移量,起始点);
    功能: 移动文件内部的位置指针到指定的位置。

    • 解释:
      • “文件指针”: 指向被移动的文件
      • “位移量” : 表示移动的字节数,要求位移量是long型数据。要求加后缀"L"
      • “起始点”: 表示从何处开始计算位移量,规定: 文件首(0),当前位置(1),文件尾(2);---> 数字为相应的表示

    文件检测函数

    • 文件结束检测函数feof函数
      • 格式: feof(文件指针);
      • 功能: 判断文件是否处于文件结束的位置,结束(1),未完(0)
    • 读写文件出错检测函数
      • 格式: ferror(文件指针);
      • 功能: 检查文件在各种输入输出函数进行读写时是否出错,未出错(0),有错(1)
    • 文件出错标志和文件结束标志置0函数
      • 格式: clearerr(文件指针);
      • 功能: 用于清除出错标志和文件结束标志。使他们为0值

    相关文章

      网友评论

          本文标题:C语言文件操作综述

          本文链接:https://www.haomeiwen.com/subject/ccaauttx.html