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