long getFileLen(char* fileName)
{
long l,m;
ifstream file (fileName,ios::in|ios::binary);
l = file.tellg();
file.seekg (0, ios::end);
m = file.tellg(); //13,406,741
file.close();
cout << "size of " << fileName;
cout << " is " << (m-l) << "bytes.\n";
return m-l;
}
long GetFileLength(char* strPath)
{
long retLength;
FILE *stream;
if( (stream = fopen( strPath, "r" )) == NULL )
return 0;
fseek( stream, 0, SEEK_END);
retLength=ftell( stream );
fclose( stream );
return retLength;
}
long getFileSize(char* fileName)
{
struct stat results;
long i = -1;
if (stat(fileName, &results) == 0)
i = results.st_size;
return i;
}
参考:http://courses.cs.vt.edu/cs2604/fall02/binio.html#stat
http://stackoverflow.com/questions/5840148/how-can-i-get-a-files-size-in-c