<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
    主站蜘蛛池模板: 久久亚洲国产欧洲精品一| 亚洲中文字幕无码一去台湾| 99re6在线视频精品免费下载| 亚洲制服丝袜中文字幕| 亚洲熟妇少妇任你躁在线观看无码| 久9热免费精品视频在线观看| 亚洲色欲色欲www在线播放| 亚洲人成人77777网站| 成年轻人网站色免费看| 成在线人视频免费视频| 亚洲成年网站在线观看| 国产亚洲色婷婷久久99精品| 毛片免费视频观看| a成人毛片免费观看| 亚洲AV无码之国产精品| 亚洲高清视频在线观看| 四虎国产精品免费视| 国产精品1024永久免费视频| 一区二区三区在线免费| 学生妹亚洲一区二区| 亚洲AV电影院在线观看| 免费在线观看污网站| 免费无码黄十八禁网站在线观看| jizz免费观看视频| 亚洲av最新在线观看网址| 久久精品亚洲中文字幕无码麻豆| 亚洲AV无码之日韩精品| 成年人在线免费看视频| 98精品全国免费观看视频| 国产精品免费久久久久电影网| 亚洲精品无码日韩国产不卡av| 精品亚洲麻豆1区2区3区| 国产亚洲精品a在线无码| 亚洲国产小视频精品久久久三级 | 久久精品国产亚洲5555| 成人性生交视频免费观看| 久久99国产综合精品免费| 国产一级一毛免费黄片| 黄网站色视频免费看无下截| 在线精品亚洲一区二区| 亚洲国产成人超福利久久精品 |