Quick and Dirty Series: C++ FileSize() function

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

转自http://www.codeproject.com/useritems/filesize.asp

#include <sys\types.h>

#include <sys\stat.h>

__int64 FileSize64( const char * szFileName )

{

struct __stat64 fileStat;

int err = _stat64( szFileName, &fileStat );

if (0 != err) return 0;

return fileStat.st_size;

}

#include <sys\types.h>

#include <sys\stat.h>

int FileSize( const char * szFileName )

{

struct stat fileStat;

int err = stat( szFileName, &fileStat );

if (0 != err) return 0;

return fileStat.st_size;

}

#include <fstream>

int FileSize(const char* sFileName)

{

std::ifstream f;

f.open(sFileName, std::ios_base::binary | std::ios_base::in);

if (!f.good() || f.eof() || !f.is_open()) { return 0; }

f.seekg(0, std::ios_base::beg);

std::ifstream::pos_type begin_pos = f.tellg();

f.seekg(0, std::ios_base::end);

return static_cast<int>(f.tellg() - begin_pos);

}

#include <boost/filesystem/operations.hpp>

boost::intmax_t file_size( const path & ph );

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航