CFile中如何确定文件结尾??

kernalandkernal 2004-04-09 04:08:02
大家好:
在用CFile过程中,如何确定当前文件指针已经移动到文件结尾??
谢了先!!
...全文
688 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
showjancn 2004-04-09
  • 打赏
  • 举报
回复
可以通过文件长度控制。 CFile::GetFileLength(),以及 CFile::GetPosition()来看现在的位置是否已到尾。
也可以通过读文件内容进行控制,至尾后再读返回错. CFile::Read()的返回值来判断是否到尾。
zhjie374 2004-04-09
  • 打赏
  • 举报
回复
楼上的OK
cmx98 2004-04-09
  • 打赏
  • 举报
回复
CFile::GetLength
virtual DWORD GetLength( ) const;
throw( CFileException );

Return Value
The length of the file.

Remarks
Obtains the current logical length of the file in bytes, not the amount.

CFile::GetPosition
virtual DWORD GetPosition( ) const;
throw( CFileException );

Return Value
The file pointer as a 32-bit doubleword.

Remarks
Obtains the current value of the file pointer, which can be used in subsequent calls to Seek.


用这两个函数取得文件大小和现在的位置,判断一下就可以了。
x0554 2004-04-09
  • 打赏
  • 举报
回复
CFile::SeekToEnd

//example for CFile::SeekToEnd
extern CFile cfile;
DWORD dwActual = cfile.SeekToEnd();

ANewGuy 2004-04-09
  • 打赏
  • 举报
回复
CFile::GetPosition() >= CFile::GetLength() ? 文件到达末尾 : 没有到末尾
swordning 2004-04-09
  • 打赏
  • 举报
回复
while(file.Read(buf,buflen))
{
........
}
快乐鹦鹉 2004-04-09
  • 打赏
  • 举报
回复
先获得文件长度。然后就知道是不是超过了。
Pipi0714 2004-04-09
  • 打赏
  • 举报
回复
参照MSDNCFile里面有函数可以判断,或者首先获得整个文件所占用的字节数然后判断
kmlin 2004-04-09
  • 打赏
  • 举报
回复
如果读到的字节数小于应读的字节数,则到结尾了。
int lMax = 80;
char buf[80+1];

while(1)
{
int i = file.Read(buf, lMax );
if(i< lMax)
break;
}

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧