<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
    數據加載中……

    C語言學習進程:fseek與ftell函數

    fseek函數是 用來設定文件的當前讀寫位置.

    函數原型: int fseek(FILE *fp,long offset,int origin);

    函數功能:把fp的文件讀寫位置指針移到指定的位置.

    fseek(fp,20,SEEK_SET); 意思是把fp文件讀寫位置指針從文件開始后移20個字節.



    ftell函數是用來獲取文件的當前讀寫位置;

    函數原型: long ftell(FILE *fp)

    函數功能:得到流式文件的當前讀寫位置,其返回值是當前讀寫位置偏離文件頭部的字節數.

    ban=ftell(fp); 是獲取fp指定的文件的當前讀寫位置,并將其值傳給變量ban.



    fseek函數與ftell函數綜合應用:

    分析:可以用fseek函數把位置指針移到文件尾,再用ftell函數獲得這時位置指針距文件頭的字節數,這個字節數就是文件的長度.

    #include <stdio.h>
    
    main()
    
    {
    
       FILE *fp;
    
       char filename[80];
    
       long length;
    
       printf("輸入文件名:");
    
       gets(filename);
    
       //以二進制讀文件方式打開文件
    
       fp=fopen(filename,"rb");
    
       if(fp==NULL)
    
          printf("file not found!\n");
    
       else
    
          {
    
             //把文件的位置指針移到文件尾
    
              fseek(fp,OL,SEEK_END);
    
             //獲取文件長度;
    
              length=ftell(fp);
    
              printf("該文件的長度為%1d字節\n",length);
    
              fclose(fp);
    
          }
    
    }


    from: http://my.opera.com/lau_jia/blog/show.dml/380421

    posted on 2007-01-05 10:46 weidagang2046 閱讀(35106) 評論(7)  編輯  收藏 所屬分類: C/C++

    評論

    # re: C語言學習進程:fseek與ftell函數[未登錄]  回復  更多評論   

    牛人就是不一樣
    2008-02-02 11:31 | 流浪者

    # re: C語言學習進程:fseek與ftell函數  回復  更多評論   

    學習,在于多思考!其實每個人都是有潛能的。。。
    2008-08-10 23:52 | 路過者

    # re: C語言學習進程:fseek與ftell函數  回復  更多評論   

    OL 是什么!!!!!
    2008-10-04 17:06 | 頂頂頂

    # re: C語言學習進程:fseek與ftell函數  回復  更多評論   

    樓上問0L什么意思,其中“0”是零,別理解成字母“O”了,整體意思就是說將位置指針移動到離文件末尾的0個字節處
    例如:feek(fp,100L,0);將位置指針移動到離文件開頭的100個字節處
    feek(fp,50L,1);將位置指針移動到當前位置的50個字節處
    feek(fp,-10L,2);將位置指針從文件末尾處向后退10個字節
    (其中0代表文件開始SEEK-SET,1代表文件當前位置SEEK-CUR,2代表文件末尾SEEK-END)
    2008-10-16 11:10 | 亮哥哥

    # re: C語言學習進程:fseek與ftell函數  回復  更多評論   

    fseek(fp,0,SEEK_END);
    length=ftell(fp);

    vector<char> buff[length];
    ret = fread(&buff[0], length, 1, fp);

    這么讀,ret和lengthf總是不等,相差挺大的,請問是為什么?
    email: shark926@sina.com
    2008-11-03 18:47 | 朱江波

    # re: C語言學習進程:fseek與ftell函數  回復  更多評論   

    @朱江波
    因為你length=ftell(fp); 之后

    還需要把句柄fseek(fp,0,SEEK_START);
    2009-01-16 15:39 | 文文

    # re: C語言學習進程:fseek與ftell函數  回復  更多評論   

    fseek(fp, FSEEK_SET, FSEEK_END);
    file_len = ftell(fp);

    這樣不就可以獲取文件大小了嘛,當前文件指針還在文件開頭
    2009-10-10 13:49 | Yi Ling
    主站蜘蛛池模板: 在线美女免费观看网站h| 5g影院5g天天爽永久免费影院| 好大好深好猛好爽视频免费| 亚洲youjizz| 成人午夜大片免费7777| 亚洲丰满熟女一区二区v| 亚色九九九全国免费视频| 亚洲图片中文字幕| 成人免费午夜视频| 亚洲国产精品成人综合色在线| 四虎成人免费大片在线| 亚洲AV永久无码精品一福利| 国产精品深夜福利免费观看| 黄色网址免费在线| 精品国产亚洲男女在线线电影 | 亚洲aⅴ无码专区在线观看| 在线免费观看毛片网站| 日韩国产精品亚洲а∨天堂免| 日本免费v片一二三区| 男女男精品网站免费观看| 亚洲色婷婷综合久久| 99久久99热精品免费观看国产| 亚洲成人高清在线观看| 在线播放高清国语自产拍免费| 美女啪啪网站又黄又免费| 国产亚洲精品激情都市| 美丽的姑娘免费观看在线播放| 亚洲自偷自偷在线成人网站传媒| 吃奶摸下高潮60分钟免费视频| 国产做国产爱免费视频| 亚洲导航深夜福利| 亚洲第一区精品观看| 69视频免费在线观看| 亚洲av无码专区青青草原| 亚洲精品无码成人片久久| 一色屋成人免费精品网站| 一级毛片aa高清免费观看| 亚洲尹人九九大色香蕉网站| 精品国产免费观看| 久久午夜无码免费| www亚洲精品久久久乳|