青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

EOF與feof()

Posted on 2008-08-18 19:12 Prayer 閱讀(464) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

判斷文件結束有兩種方法:EOF和feof()
查看stdio.h可以看到如下定義:
#define EOF (-1)

#define _IOEOF 0x0010
#define feof(_stream) ((_stream)->_flag & _IOEOF)

由此可以看出,這兩種方式的原理是不同的。
有人說EOF只能用于文本文件,其實不然,還要看定義的變量的類型。下面這段程序對文本文件和二進制文件都可以:
int c;
while((c=fgetc(fp)) != EOF)
{
 printf("%X\n", c);
}
如果讀到了FF,由于c定義為int型,所以實際上c=0x000000FF,不等于EOF(-1=0xFFFFFFFF),因此不會誤判為文件結尾。

但是如果把c定義為char類型,就有可能產生混淆了。
char c;
while((c=fgetc(fp)) != EOF)
{
 printf("%X\n", c);
}
因為文本文件中存儲的是ASCII碼,而ASCII碼中FF代表空值(blank),一般不使用,所以如果讀文件返回了FF,說明已經到了文本文件的結尾。但是如果是二進制文件,其中可能會包含FF,因此不能把讀到EOF作為文件結束的條件,此時只能用feof()函數。

在VC里,只有當文件位置指針(fp->_ptr)到了文件末尾,然后再發生讀/寫操作時,標志位(fp->_flag)才會被置為含有_IOEOF。然后再調用feof(),才會得到文件結束的信息。因此,如果運行如下程序:
char c;
while(!feof(fp))
{
 c = fgetc(fp);
 printf("%X\n", c);
}
會發現多輸出了一個FFFFFFFF,原因就是在讀完最后一個字符后,fp->flag仍然沒有被置為_IOEOF,因而feof()仍然沒有探測到文件結尾。直到再次調用fgetc()執行讀操作,feof()才能探測到文件結尾。這樣就多輸出了一個-1(即FFFFFFFF)。
正確的寫法應該是:
char c;
c = fgetc(fp);
while(!feof(fp))
{
 printf("%X\n", c);
 c = fgetc(fp);
}

這么說其實feof()是可以用EOF來代替的嘍?不是,這里還有一個問題。fgetc返回-1時,有兩種情況:讀到文件結尾或是讀取錯誤。因此我們無法確信文件已經結束, 因為可能是讀取錯誤! 這時我們需要feof()。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            蜜臀久久99精品久久久画质超高清| 国产性天天综合网| 亚洲视频一区在线| 一本色道久久综合亚洲精品不卡| 欧美国产日本韩| 亚洲视频一区二区| 亚洲欧美自拍偷拍| 免费久久99精品国产自| 亚洲视频中文字幕| 亚洲尤物在线| 老司机久久99久久精品播放免费| 欧美精品精品一区| 国产精品男gay被猛男狂揉视频| 国产一区二区三区久久久| 亚洲国产日韩欧美一区二区三区| 99av国产精品欲麻豆| 国产自产精品| 亚洲区在线播放| 午夜精品视频| 欧美国产精品中文字幕| 亚洲色图在线视频| 免费观看久久久4p| 国产精品青草综合久久久久99| 狠狠综合久久av一区二区老牛| 一本色道久久99精品综合| 久久久成人精品| 亚洲精品乱码久久久久久按摩观| 一区二区三区日韩精品| 久久久久一区二区三区| 国产精品毛片在线看| 亚洲精品日韩一| 久久亚洲风情| 亚洲网友自拍| 欧美日韩1区2区| 亚洲日韩第九十九页| 久久国产免费看| 一区二区三区日韩| 欧美日韩成人网| 最近中文字幕日韩精品| 久久久久亚洲综合| 亚洲一区综合| 国产精品高潮呻吟| 亚洲深夜影院| 亚洲激情在线视频| 老牛影视一区二区三区| 极品尤物久久久av免费看| 欧美在线国产| 午夜精品福利一区二区蜜股av| 欧美日韩一区二区在线观看视频| 亚洲精品乱码久久久久久久久| 久久中文欧美| 久久精品视频va| 国语精品中文字幕| 久久婷婷综合激情| 久久久久一区| 亚洲国语精品自产拍在线观看| 免费成年人欧美视频| 久久久亚洲国产天美传媒修理工| 国产中文一区二区| 久久久久久亚洲综合影院红桃 | 亚洲图色在线| 国产精品久久久久av| 亚洲天堂av在线免费| 日韩视频在线一区二区| 欧美日韩国产另类不卡| 亚洲激情黄色| 亚洲美女少妇无套啪啪呻吟| 久久频这里精品99香蕉| 黑人巨大精品欧美一区二区 | 国产精品一级| 欧美伊人久久久久久午夜久久久久 | 亚洲欧美国产另类| 欧美一区二区高清| 国产一区二区精品久久99| 久久高清免费观看| 久久久久久久久岛国免费| 亚洲第一狼人社区| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久永久免费| 日韩一区二区电影网| 一本综合精品| 国产一区二区三区四区三区四| 免费观看亚洲视频大全| 欧美福利小视频| 亚洲综合色视频| 久久精品国产精品亚洲综合| 亚洲精品中文字幕女同| 亚洲欧美国产va在线影院| 在线观看视频日韩| 在线亚洲精品福利网址导航| 韩国在线一区| 一本久久综合亚洲鲁鲁| 韩国av一区二区三区| 亚洲免费成人av| 狠狠色狠狠色综合日日91app| 亚洲精品一区二区三区四区高清 | 亚洲一区日韩| 久久久久久欧美| 亚洲午夜久久久久久久久电影网| 性欧美办公室18xxxxhd| 99精品欧美| 久久精品国产精品亚洲精品| 亚洲一区二区三区乱码aⅴ| 久久久久久9| 午夜欧美精品| 欧美巨乳在线观看| 免费成人在线视频网站| 国产精品久久久久久久免费软件 | 亚洲人成在线观看一区二区| 在线视频欧美一区| 亚洲片国产一区一级在线观看| 伊人成年综合电影网| 夜色激情一区二区| 亚洲黄色在线观看| 久久都是精品| 欧美影院成人| 欧美私人网站| 亚洲精品国精品久久99热一| 亚洲第一福利视频| 久久久www成人免费毛片麻豆| 午夜精品美女久久久久av福利| 欧美久久久久久久| 欧美激情一区二区三级高清视频| 国模大胆一区二区三区| 午夜精品久久久久久99热| 亚洲免费在线视频一区 二区| 欧美精品免费播放| 亚洲国产婷婷香蕉久久久久久99 | 国产一区二区三区在线观看视频| 亚洲美女av网站| 99成人免费视频| 欧美国产精品专区| 亚洲国产小视频| 日韩一级精品视频在线观看| 欧美成人首页| 亚洲精品欧美一区二区三区| 亚洲作爱视频| 欧美午夜电影在线| 亚洲午夜视频| 久久精品成人一区二区三区| 国内激情久久| 老司机67194精品线观看| 欧美高潮视频| 亚洲国产一区二区三区在线播| 欧美成人国产va精品日本一级| 欧美成人tv| 日韩亚洲精品在线| 国产精品mm| 欧美一区二区三区另类| 美女精品视频一区| 亚洲精品欧美日韩| 国产精品二区二区三区| 欧美在线视频在线播放完整版免费观看 | 国产美女高潮久久白浆| 欧美在线关看| 亚洲大胆人体视频| 欧美成人a∨高清免费观看| 亚洲成人在线免费| 99国产精品视频免费观看一公开 | 欧美一区永久视频免费观看| 国产视频久久久久久久| 久久在线免费观看视频| 亚洲国产高清高潮精品美女| 亚洲午夜未删减在线观看| 国产日本欧洲亚洲| 免费视频一区| 亚洲一区在线播放| 欧美成人日韩| 亚洲欧美在线看| 中国女人久久久| 伊人成人在线| 免费人成精品欧美精品| 亚洲麻豆一区| 久久一区二区三区国产精品| 亚洲人成在线观看| 国产一二三精品| 欧美激情久久久久| 小黄鸭精品aⅴ导航网站入口| 亚洲第一天堂av| 久久国产精品久久久久久久久久 | 韩日欧美一区二区| 欧美日韩精品一区二区| 久久久国产精彩视频美女艺术照福利 | 欧美视频在线观看免费网址| 久久久精品网| 亚洲欧美日韩国产成人精品影院| 亚洲国产第一页| 久久一区精品| 欧美怡红院视频一区二区三区| 日韩一级不卡| 亚洲日本无吗高清不卡| 黄色日韩网站| 国产一区二区三区奇米久涩| 国产精品白丝av嫩草影院| 欧美伦理影院| 欧美粗暴jizz性欧美20| 久久人人九九| 久久九九全国免费精品观看| 午夜精品久久久久久99热软件| 一区二区三区黄色|