&1 源代码说明
//测试文本名称为example.txt
const char * FileName = "example.txt";
long m,n;
ifstream file(FileName, ios::in|ios::binary);
m = file.tellg();
file.seekg(0, ios::end);
n = file.tellg();
file.close();
cout <<"size of " "<< filename<<" " is "<< (n-m)<<" bytes.
"<<endl;
&2 函数说明
- seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。
对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:
ios::beg:表示输入流的开始位置
ios::cur:表示输入流的当前位置
ios::end:表示输入流的结束位置
- tellg()函数不需要带参数,它返回当前定位指针的位置,也代表着输入流的大小。
&3 使用
- 将生成的.exe文件放到与example.txt同目录下运行时,可直接得到example.txt的大小;
- 在运行这段代码时,如果example.txt在当前目录,则能得到大小,否则输出大小为0;