<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
    主站蜘蛛池模板: 成年女人免费视频播放77777| 免费国产在线视频| 永久免费av无码网站大全| 97久久国产亚洲精品超碰热| 国产一卡二卡四卡免费| 亚洲国产成人手机在线电影bd| 成人在线免费看片| 日韩亚洲国产综合高清| 亚洲伊人久久精品| 在线看片v免费观看视频777| 国产成人亚洲精品| 日韩a级毛片免费观看| 亚洲中文字幕无码爆乳AV| 77777午夜亚洲| 成人永久免费福利视频网站| 美景之屋4在线未删减免费| 日韩亚洲变态另类中文| 一区二区三区在线免费看| 亚洲AV无码专区在线亚| 四虎国产精品免费视| 在线视频网址免费播放| 中文字幕亚洲综合久久2| 一个人看www在线高清免费看| 相泽南亚洲一区二区在线播放| 亚洲精品天堂成人片?V在线播放| 久久一区二区三区免费播放| 亚洲乱码一二三四区国产| 免费观看亚洲人成网站| 鲁丝片一区二区三区免费| 2020年亚洲天天爽天天噜| 亚洲国产精品13p| 69视频免费观看l| 国产99久久亚洲综合精品| 亚洲国产二区三区久久| 精品国产免费一区二区| 中文字幕免费观看视频| 国产午夜亚洲精品国产| 亚洲成A人片在线观看无码不卡 | 亚洲一区二区三区乱码A| 亚洲国产AV无码一区二区三区| 黄页网站在线看免费|