牛骨文教育服务平台(让学习变的简单)
博文笔记

使用C++数据流处理文件时获得实际数据大小

创建时间:2008-01-30 投稿人: 浏览次数:137

微软的VC中对于文件操作的类CFile中有个成员函数Read,返回值为实际读取数据大小。对于需要循环读取文件的处理来说,可以通过判断实际读取的数据大小来处理最后剩下来的数据。但是,如果使用C++的数据流方式来处理文件时,你会发现read返回值是*this,而不是读取数据的实际大小。也没有其他对应的函数能得到当前实际读取数据的大小。但是我在网上找到一种替代方式:

ifstream ifs("d:/test");                       // 要处理的文件
ifs.read((char*)buffer, bufSize);          // 按照指定的大小bufSize读取文件内容
int getLen = ifs.gcount();                   // 实际读取数据大小
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。