sophia_hxw

人生有三恨,一恨鲫鱼有刺,二恨海棠无香,三恨红楼未完!----------张爱玲
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

测试文本文件大小

Posted on 2016-07-14 16:35  sophia_hxw  阅读(140)  评论(0编辑  收藏  举报

&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. \n"<<endl;

&2 函数说明

  • seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。

    对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:
    ios::beg:表示输入流的开始位置
    ios::cur:表示输入流的当前位置
    ios::end:表示输入流的结束位置

  • tellg()函数不需要带参数,它返回当前定位指针的位置,也代表着输入流的大小。

 

&3 使用

    •  将生成的.exe文件放到与example.txt同目录下运行时,可直接得到example.txt的大小;
    • 在运行这段代码时,如果example.txt在当前目录,则能得到大小,否则输出大小为0;