zoukankan      html  css  js  c++  java
  • C语言 文件操作(六)

    一.fseek()

    int fseek(FILE * stream, long offset, int whence);

    1.参数stream 为已打开的文件指针。

    2.参数offset 是偏移量,该参数表示要从起始点开始要移动的距离,干参数必须是一个long类型的值,可以为正(前移),可以为负(向后移),或者为0(保持不动)。

    3.参数 whence 是模式,该参数确定起始点。根据ANSI标准,在stdio.h头文件中规定了几个表示模式的明示标量

    模式 偏移量的起始点
    SEEK_SET 文件开始处
    SEEK_CUR 文件当前位置
    SEEK_END 文件末尾

    二.ftell()

    long ftell(FILE * stream);

    对于二进制文件,则返回从文件开头到结尾的字节数。

    对于文本文件,返回的数值可能没有实际意义,但仍然可以用来保存当前的读写位置,供 fseek() 函数使用

    eg:

    #include <stdio.h>
    #include <stdlib.h>

    /*本程序功能:
    从  f 盘下的文本文件 lanyue.txt 中读取第一个,最后一个,中间数据并分别输出
    */

    int main()
    {
       
        FILE *fp = fopen("f:\lanyue.txt","r");
        int num;
           
           fseek(fp,0,SEEK_SET);                            //指针从0开始,获取第一个数据
        num = fgetc(fp);
        putchar(num);
        
        
        fseek(fp,-1,SEEK_END);                            //指针从结尾开始,因为最后一个字符为结束字符,所以需要将指针左移一位
        num = fgetc(fp);
        putchar(num);
        
        fseek(fp,-(ftell(fp) / 2) - 1,SEEK_CUR);        //当前指针为结尾,向左移动一半则为中间数据
        num = fgetc(fp);
        putchar(num);
        
        fclose(fp);
           
           return(0);
    }

  • 相关阅读:
    浅入浅出EmguCv(一)OpenCv与EmguCv
    Selenium2入门(三)WebDriver API之Get
    Selenium2入门(二)WebDriver
    Selenium2入门(一)简介
    Tomcat部署Solr4.10.4
    On the Optimal Approach of Survivable Virtual Network Embedding in Virtualized SDN
    几篇虚拟映射文章粗读
    SDN网络虚拟化中有效协调的映射算法
    SDN网络中hypervisor带来的控制器时延(Hypervisor位置的优化)
    FlowerVisor理解
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700556.html
Copyright © 2011-2022 走看看