1 #include2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 int main(int argc, char *argv[]) 9 {10 ifstream ifs("test.txt");11 12 ifs.seekg(0, ios::end); //设置文件指针到文件流的尾部13 streampos pos = ifs.tellg(); //读取文件指针的位置14 15 cout << "The file size: " << pos << " byte" << endl;16 ifs.close(); // 关闭文件流17 18 return 0;19 }
/*总结:
注意:1、读取的时候是以byte为单位进行的。2、basic_istream<Elem, Tr>& seekg(off_type _Off, ios_base::seekdir _Way);可以看到第一个参数为偏移量,它是相对于第二个参数的偏移量。
遵循x坐标的原理,即把第二个参数当做原点。若偏移量为负,则在第二个参数的左边;若偏移量为正,则在第二个参数的右边。*/
根据上述可以写成:
ifs.seekg(-1, ios::end); // 此时文件指针指向末尾的前一字节