zoukankan      html  css  js  c++  java
  • C语言 文件操作11--文件函数再讲 fseek()和ftell()

    //文件函数再讲
    //fseek(),ftell(),
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    
    void main(){
        //定义文件路径
        char *path = "E:\Look\b1.txt";//仅支持window
        char *path1 = "E:/Look/b1.txt";//支持window和linux
        //定义文件指针
        FILE *pf = NULL;
        //以读写方式打开文件
        pf = fopen(path1,"r+");
        //判断文件是否打开成功
        if (pf==NULL)
        {
            printf("文件打开失败! 文件路径是%s
    ",path1);
        }
    
        //int fseek(FILE *stream, long offset, int origin);
        //第一个参数stream为文件指针
        //第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
        //第三个参数origin设定从文件的哪里开始偏移, 可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
        //SEEK_SET: 文件开头
        //SEEK_CUR: 当前位置
        //SEEK_END: 文件结尾
        //其中SEEK_SET, SEEK_CUR和SEEK_END依次为0,1和2.
        //简言之:
        //fseek(fp, 100L, 0); 把stream指针移动到离文件开头100字节处;
        //fseek(fp, 100L, 1); 把stream指针移动到离文件当前位置100字节处;
        //fseek(fp, -100L, 2); 把stream指针退回到离文件结尾100字节处。
    
        char buf[100] = {0};
        fgets(buf, 100, pf);
        printf("输出结果%s
    ", buf);
        //将文件指针移动到文件末尾
        fseek(pf, 0L, SEEK_END);
        //计算出文件指针偏移量(本质上就是文件的大小)
        int num = ftell(pf);
        //函数名:ftell
        //函数原型:long ftell(FILE *stream);
        //函数功能
        //用于得到文件位置指针当前位置相对于文件首的偏移字节数。(使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。)
        //约束条件
        //因为ftell返回long型,根据long型的取值范围 - 231~231 - 1( - 2147483648~2147483647),故对大于2.1G的文件进行操作时出错。
        printf("文件的大小%d个字节
    ", num);
        //关闭文件
        if (pf!=NULL)
        {
            fclose(pf);
        }
    
        system("pause");
    }
  • 相关阅读:
    R​e​q​u​e​s​t​、​R​e​q​u​e​s​t​.​F​o​r​m​和​R​e​q​u​e​s​t​.​Q​u​e​r​y​S​t​r​i​n​g​的​区​别
    javascript 中 this 与 prototype 的3个区别
    原型模式
    电脑键盘按键代码表
    获取本地 IP 和 数据库备份
    FileUpload 上传文件 帮助类
    tatable 中,自动换行,不撑大td
    radiobutton 设置单选项目标
    有事无事重装IIS
    sql 除法运算结果为小数时显示0的解决方案 或者百分比
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5459002.html
Copyright © 2011-2022 走看看