近期在写一个socket程序,在过程中遇到一个问题:如何将一个未知大小的文件按照8k字节的内存全部读完。
使用这种方法可以实现读出文件大小:
ifstream infile("111.bmp",ifstream::binary);
定义一个ifstream的输入 infile 文件流对象
infile.seekg(0,ios::end);
length = infile.tellg();
infile.seekg(0,ios::beg);
首先使用 infile.seekg() 将文件指针指向结尾,通过读取infile.tellg()返回值即文件的大小;
最后需要执行 infile.seekg(0,ios::beg);将文件的指针重新指向开头,因为后面操作需要文件开头操作文件。