请问:读文件CFile的Read,我如何知道读到了一个文件的末尾?也就是说: 顺序读,每次读一个字符,每次都判断是否为EOF办法很苯,望高手指正 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 循环:每次要求read读一个规定字数,取read的返回值(读的真实字数),如果返回值小于这个数,就是到头了。 CFile 有很多种打开文件的方式:CFile::typeText 、CFile::typeBinary 对于typeText就有文件结束符,而对于二进制文件(CFile::typeBinary )打开方式就没有结束付了。你可以用CFile::GetLength()来得到文件的长度CFile cf("test",CFile::typeBinary|CFile::modeRead );DWORD dwLen = cf.GetLength()void *p;p = (void *) new char[nLen]cf.ReadHuge( p, dwLen );这样你不就是一次性的读入整个文件到内存。当然这样也有点太.....如果文件太大就....也可用内存映射文件。 用api ::GetFileSize(...)得到文件大小,这样就可以根据文件大小判断是不是到了文件尾。 关于WM_ENTERIDLE消息的问题 简单的自动拨号? 托盘程序的问题 请问高手PeekMessge和GetMessage的区别 问了很多次,都没有得到满意的答案,不知道错在哪了 我是缴费vip用户,为何不显示下载页面 如何关机 XP(pro)操作系统的修复 誰知道 rva 是甚麼,我在 一个简单问题(可对于我这个初学者却把我给难倒了) 有没有能够显示MIME信件的组件呀。 有人知道视频文件的结构吗?
CFile::typeText 、CFile::typeBinary
对于typeText就有文件结束符,而对于二进制文件(CFile::typeBinary )打开方式就没有结束付了。
你可以用CFile::GetLength()来得到文件的长度
CFile cf("test",CFile::typeBinary|CFile::modeRead );
DWORD dwLen = cf.GetLength()
void *p;
p = (void *) new char[nLen]
cf.ReadHuge( p, dwLen );
这样你不就是一次性的读入整个文件到内存。当然这样也有点太.....如果文件太大就....
也可用内存映射文件。
得到文件大小,
这样就可以根据文件大小判断是不是到了文件尾。