/*
*Copyright (c) 2016 烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作 者:史红浩
*完成日期:2016年 6 月 16 日
*问题描述:阅读下面的程序,指出其功能,体会seekg()、tellg()等函数的功能及其用法
*版 本 号:v1.0
*/
#include<iostream>
#include <fstream>
using namespace std;
const char * filename = "a.txt";
int main ()
{
long l,m;
ifstream file (filename, ios::in|ios::binary);
l = file.tellg();
file.seekg (0, ios::end);
m = file.tellg();
file.close();
cout << "size of " << filename;
cout << " is " << (m-l) << " bytes.\n";
return 0;
}
该程序能够统计文本文件a.txt的字节数,运行结果为:
对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:
ios::beg:表示输入流的开始位置
ios::cur:表示输入流的当前位置
ios::end:表示输入流的结束位置
tellg()函数不需要带参数,它返回当前定位指针的位置,也代表着输入流的大小。