zoukankan      html  css  js  c++  java
  • C 文件读写2

    feof()

    int  feof(FILE *stream);

    在执行读文件操作时,如果遇到文件尾,则函数返回逻辑真(1);否则,则返回逻辑假(0)。

    feof()函数同时适用于ASCII码文件和二进制文件。

    处理二进制文件一般要用fread()和fwrite()函数。

    fread()

    int  fread(void *buffer,int size,int count,FILE * stream);

    读一个数据块,从文件流stream中读取count个每个大小为size的元素到buffer中。

    fwrite()

    int  fwrite(void *buffer,int size,int count,FILE * stream);

    将buffer所指向的数组的内容写入stream所指向的流中。

    size表示单个数组元素的大小, 最多写入count 个数组元素。

    流的文件位置指针根据成功写入的字节数递增。

    函数返回成功写入的元素个数,如果遇到写错误,返回值可能小于count。

    rewind()

    int rewind(FILE * stream);

    使文件位置指针指向文件头。

    fseek()

    int fseek(FILE *stream,位移量,参照点);

    修改文件位置指针使其指向任一字节处。

    (1)参照点(3种取值):

    SEEK_SET ──值为0,表示文件头

    SEEK_CUR──值为1,表示当前位置

    SEEK_END──值为2,表示文件尾

    (2)位移量:

    以参照点为起点,向前(当位移量>0时)或后(当位移量<0时)移动的字节数。

    在ANSI C标准中,要求位移量为long int型数据。

    ftell()

    long ftell(FILE *stream);

    返回文件当前位置

    顺序存取文件特点:

    通常是文本文件,使用fscanf和fprintf函数。

    文件中的记录可以有不同的长度。

    不能直接快速地访问文件中的某一记录,而必须从文件中第一个记录开始访问。

    新的记录只能插入到文件尾。

    随机存取文件特点:

    通常是二进制文件,使用fread和fwrite函数

    文件中的记录具有相同的长度。

    能够直接快速地定位、访问文件中的某一记录。

    新记录可以插入到希望的位置。

    摘自计导PPT课件

  • 相关阅读:
    JZ初中OJ 2266. 古代人的难题
    JZ初中OJ 1341. [南海2009初中] water
    JZ初中OJ 1340. [南海2009初中] jumpcow
    JZ初中OJ 2000. [2015.8.6普及组模拟赛] Leo搭积木
    JZ初中OJ 1999.[2015.8.6普及组模拟赛] Wexley接苹果
    Unity Android平台下插件/SDK开发通用流程
    UNITY接入支付宝(未测试可行)
    Unity接入支付宝(免写安卓代码,使用JAR方式)
    Unity之多态
    unity与android交互(1)与(2)网友的整理
  • 原文地址:https://www.cnblogs.com/flipped/p/5348124.html
Copyright © 2011-2022 走看看