C/C++获取文件大小
一、引言
自己想要实现一个简单的web服务器,遇到一个问题是需要获取发送给客户端的文件大小,即:Content-Length参数。
二、方法
方法一:
long GetFileLength(string strPath) { long lSize = 0; ifstream fin(strPath.c_str(), ios::in | ios::binary); char szBuf[1024*1000] = ""; while (fin.read(szBuf, 1024 * 1000 - 1)) { lSize += strlen(szBuf); memset(szBuf, 0, 1024*1000); } fin.close(); lSize += strlen(szBuf); return lSize; }
方法二:
long GetFileLength(string strPath) { ifstream fin(strPath.c_str(), ios::in | ios::binary); fin.seekg(0, ios_base::end); streampos pos = fin.tellg(); long lSize = static_cast<long>(pos); fin.close(); return lSize; }