ifstream中read()与readsome()的区别。
项目中出现一个很有趣的Bug,程序读入一个特定的二进制文件中的数据,进行一些处理,可是每当这个文件的数据量超过某个特定值(这个值不大,400K左右)的时候运行结果就出错。
追查Bug是程序员的一项基本功,也是最能体现实力的地方之一。这个Bug最终在3天追捕之后被一个同事抓获。原因确是因为我写的读取文件的模块中使用了fsream::readsome()函数。改成fsream::read()就可以了。
惊悸之余,特地比较详细的看了关于流的解释。
首先,fstream是basic_fstream模板类关于char的一个实例。
typedef basic_fstream fstream;
basic_fstream的由basic_iostream派生的
template
阅读(871) | 评论(0) | 转发(0) |