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

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

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

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評(píng)論 - 101, 引用 - 0
    數(shù)據(jù)加載中……

    C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)

    fseek函數(shù)是 用來設(shè)定文件的當(dāng)前讀寫位置.

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

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

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



    ftell函數(shù)是用來獲取文件的當(dāng)前讀寫位置;

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

    函數(shù)功能:得到流式文件的當(dāng)前讀寫位置,其返回值是當(dāng)前讀寫位置偏離文件頭部的字節(jié)數(shù).

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



    fseek函數(shù)與ftell函數(shù)綜合應(yīng)用:

    分析:可以用fseek函數(shù)把位置指針移到文件尾,再用ftell函數(shù)獲得這時(shí)位置指針距文件頭的字節(jié)數(shù),這個(gè)字節(jié)數(shù)就是文件的長(zhǎng)度.

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


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

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

    評(píng)論

    # re: C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)[未登錄]  回復(fù)  更多評(píng)論   

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

    # re: C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)  回復(fù)  更多評(píng)論   

    學(xué)習(xí),在于多思考!其實(shí)每個(gè)人都是有潛能的。。。
    2008-08-10 23:52 | 路過者

    # re: C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)  回復(fù)  更多評(píng)論   

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

    # re: C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)  回復(fù)  更多評(píng)論   

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

    # re: C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)  回復(fù)  更多評(píng)論   

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

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

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

    # re: C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)  回復(fù)  更多評(píng)論   

    @朱江波
    因?yàn)槟鉲ength=ftell(fp); 之后

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

    # re: C語言學(xué)習(xí)進(jìn)程:fseek與ftell函數(shù)  回復(fù)  更多評(píng)論   

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

    這樣不就可以獲取文件大小了嘛,當(dāng)前文件指針還在文件開頭
    2009-10-10 13:49 | Yi Ling
    主站蜘蛛池模板: 日韩免费观看一区| 永久黄色免费网站| 嫩草在线视频www免费观看| 国产一区二区三区免费在线观看| 亚洲精品无码专区在线播放| 久久WWW免费人成—看片| 亚洲国产精品成人网址天堂| 四虎影视久久久免费| 亚洲精品无码99在线观看| 一个人看的hd免费视频| 国产亚洲大尺度无码无码专线 | 亚欧洲精品在线视频免费观看| 秋霞人成在线观看免费视频| 人人狠狠综合久久亚洲婷婷| 免费国产在线视频| 免费v片视频在线观看视频| 久久精品国产精品亚洲色婷婷| 免费久久人人爽人人爽av| 亚洲AV无码专区国产乱码电影 | 一级毛片免费毛片毛片| 青青草原亚洲视频| 久久午夜无码免费| 亚洲国产精品久久人人爱| 日日摸日日碰夜夜爽亚洲| 日本妇人成熟免费中文字幕| 亚洲精品成人无限看| 污视频网站免费在线观看| 亚洲欧洲精品无码AV| 一级毛片免费播放视频| 久久亚洲AV午夜福利精品一区| 一级毛片免费全部播放| 国产亚洲人成无码网在线观看 | 亚洲午夜久久久久久尤物| 免费观看美女裸体网站| 成人a毛片免费视频观看| 久久精品国产亚洲AV果冻传媒| 永久免费毛片在线播放| 一级成人生活片免费看| 亚洲欧洲尹人香蕉综合| 国产成人在线免费观看| 久久久精品免费视频|