获得文件长度的标准C++写法
2006-07-17 23:14
483 查看
由于现在的STL实现中流的位置并不是long表示的, 所以不能直接用它来表示文件的长度
转化的办法是把读写指针分别置于文件开头和结尾, 利用streampos提供的减法操作得到文件的字节数
#include <fstream>
using namespace std;
long File_length(char const *pfile)
{
ifstream file(pfile, ios::binary);
if ( !file )
{
cerr<<pfile<<" can not open!"<<endl;
return 0;
}
streampos begin = file.tellg(); //获得开头的位置
file.seekg(0, ios::end); //定位到文件尾部
streampos end = file.tellg(); //获得尾部的位置
file.close();
return (long)(end-begin); //利用streampos的"-"操作得到文件的字节长度
}
转化的办法是把读写指针分别置于文件开头和结尾, 利用streampos提供的减法操作得到文件的字节数
#include <fstream>
using namespace std;
long File_length(char const *pfile)
{
ifstream file(pfile, ios::binary);
if ( !file )
{
cerr<<pfile<<" can not open!"<<endl;
return 0;
}
streampos begin = file.tellg(); //获得开头的位置
file.seekg(0, ios::end); //定位到文件尾部
streampos end = file.tellg(); //获得尾部的位置
file.close();
return (long)(end-begin); //利用streampos的"-"操作得到文件的字节长度
}
相关文章推荐
- Unicode(UTF16)文件读写终极方案---用C++标准的字节流读取,转化为宽字符(wchar_t),再以字节流写入
- C++标准文件流文件尾符的处理原理
- c++ ---------命令行获得和转换文件CommandLineToArgvW和GetCommandLineW()的使用
- C++中获得文件大小
- 标准C获得文件大小的5种方法
- C++如何获得文件大小(2)
- 标准C获得文件大小的5种方法
- java中获得properties配置文件中的值的写法
- C++获得文件夹下所有文件的路径及文件名
- C++获得数组长度
- C++ 获得指定路径下指定后缀的文件
- JAVA 把File文件转换成Byte[]数组的标准写法
- Android - JNI加入标准C++文件
- c++ 新标准编译 复制文件到令另一个文件
- C++ 获取文件长度
- windows+eclipse做android开发 jni找不到标准C++的头文件问题
- 标准的c++中int,float,double等怎么转换成string类,并实现文件写入
- C/C++如何获得文件大小
- C++ 中strcpy标准写法实例详解
- c/c++如何获得数组的长度