方法一:
WIN32_FIND_DATA fileInfo;
HANDLE hFind;
DWORD fileSize;
const char *fileName = 文件的路径及名字;
hFind = FindFirstFile(fileName ,&fileInfo);
if(hFind != INVALID_HANDLE_VALUE)
fileSize = fileInfo.nFileSizeLow;
FindClose(hFind);
方法二:
HANDLE hFile; // the file handle
DWORD dwFileSize; // temporary storage for file sizes
// Create the test file. Open it "Create Always" to overwrite any
// existing file. The data is re-created below.
hFile = CreateFile(lpcTheFile, GENERIC_READ | GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
printf("hFile is NULL\n");
return 4;
}
dwFileSize = GetFileSize(hFile, NULL);
printf("hFile size: %10d\n", dwFileSize);
**************************************************************************************
C和C++获取文件大小的方法总结
2008年03月31日 星期一 14:21
1.MFC中的方法:(C++)
CFileStatus status;
CFile::GetStatus("D:\\test.txt",status);
long lSizeOfFile;
lSizeOfFile = status.m_size;
lSizeOfFile的值就是D:\\test.txt文件的大小
2.标准C获得文件大小的5种方法
(注意:"__FILE__"指的是当前文件,你可以改为有效路径的目标文件,比如"D:\\test.txt")
#include "stdafx.h"
#include "stdio.h"
#include <sys/stat.h>
#include <io.h>
#include <FCNTL.H>
int getfilesize()
{
int iresult;
struct _stat buf;
iresult = _stat(__FILE__,&buf);
if(iresult == 0)
{
return buf.st_size;
}
return NULL;
}
int getfilesize01()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _filelength(fp);
//return NULL;
}
int getfilesize02()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize03()
{
int fp;
fp=_open(__FILE__,_O_RDONLY);
if(fp==-1)
return NULL;
return _lseek(fp,0,SEEK_END);
//return NULL;
}
int getfilesize04()
{
FILE *fp;
if((fp=fopen(__FILE__,"r"))==NULL)
return 0;
fseek(fp,0,SEEK_END);
return ftell(fp); //return NULL;
}
int getfilesize05()
{
FILE *fp;
char str[1];
if((fp=fopen(__FILE__,"rb"))==NULL)
return 0;
for(int i = 0;!feof(fp);i++)
{
fread(&str,1,1,fp);
}
return i - 1; //return NULL;
}
int main(int argc, char* argv[])
{
printf("getfilesize()=%d\n",getfilesize());
printf("getfilesize01()=%d\n",getfilesize01());
printf("getfilesize02()=%d\n",getfilesize02());
printf("getfilesize03()=%d\n",getfilesize03());
printf("getfilesize04()=%d\n",getfilesize04());
printf("getfilesize05()=%d\n",getfilesize05());
return 0;
}
**************************************************************************************
VC获取文件夹大小代码:
以下是代码片段:
DWORD64 GetFolderSize(LPCTSTR szPath, DWORD *dwFiles, DWORD *dwFolders)
{
TCHAR szFileFilter[512];
TCHAR szFilePath[512];
HANDLE hFind = NULL;
WIN32_FIND_DATA fileinfo;
DWORD64 dwSize = 0;
strcpy(szFilePath,szPath);
strcat(szFilePath,"\\");
strcpy(szFileFilter,szFilePath);
strcat(szFileFilter,"*.*");
hFind = FindFirstFile(szFileFilter,&fileinfo);
do
{
if(fileinfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (!strcmp(fileinfo.cFileName,".") || !strcmp(fileinfo.cFileName,".."))
{
//Do nothing for "." and ".." folders
}
else
{
TCHAR sztmp[512];
strcpy(sztmp,szFilePath);
strcat(sztmp,fileinfo.cFileName);
dwSize = dwSize + GetFolderSize(sztmp);
if(dwFolders != NULL)
{
++(*dwFolders);
}
}
}
else
{
if(dwFiles != NULL)
{
++(*dwFiles);
}
}
dwSize += fileinfo.nFileSizeLow;
}while(FindNextFile(hFind,&fileinfo));
FindClose(hFind);
return dwSize;
}
分享到:
相关推荐
易语言-文件大小转换源码 字节转换成KB/MB/GB
易语言API转换文件大小源码,API转换文件大小,FormatKB,StrFormatByteSize,GetFileSize,OpenFile,CloseHandle,GetFileSizeEx
@350246356。
文件大小和最后修改日期的转换 文件大小和最后修改日期的转换 文件大小和最后修改日期的转换
文件大小字节转换成KB/MB/GB
java计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换) java 硬盘大小转换 数据转换 内存转换 存储大小转换
二进制文件大小端转换工具,单独工具;二进制文件大小端转换工具,单独工具;二进制文件大小端转换工具,单独工具
自己整理出来可以计算出需要上传文件大小转换的代码,给需要的朋友吧
主要方法:1.获取文件指定文件的指定单位的大小;2.调用此方法自动计算指定文件或指定文件夹的大小;3.获取指定文件大小;4.获取指定文件夹;5.转换文件大小;6.转换文件大小,指定转换的类型
13.如何转换图像文件大小?(Visual C++编程 源代码)13.如何转换图像文件大小?(Visual C++编程 源代码)13.如何转换图像文件大小?(Visual C++编程 源代码)13.如何转换图像文件大小?(Visual C++编程 源代码)...
bin文件转txt文件工具,工程使用vs2010,该工具支持任意大小文件转换
将字节大小转换成单位大小 当文件上传后将文件大小获取 与此同时该文件为字节大小 将其转换成带有单位大小
获取文件大小函数,文件大小单位转换为兆(M),并保留两位小数。
--检测原bin文件数据长度,增加至第1-4个字节 --将AM335X的内部地址0x402F0400,增加至第5-8个字节 --将原bin文件的数据以4个字节为单位进行顺序转换 运行脚本前,需要修改脚本里面的文件名: 第1步:拷贝原bin文件...
减小SolidWorks文件大小的八种方法减小SolidWorks文件大小的八种方法减小SolidWorks文件大小的八种方法
Image文件大小压缩,依据改变图片的质量,改变图片的大小,转换后图片质量影响并不大。
批量转换图像大小的工具,很方便的转换图像的大小,以便上传文件所用。
API转换文件大小.rar
现在的数码摄影产品发展得相当快,随着分辨率越来越高,文件也越来越大,若想将拍摄的生活、旅游、工作视频跟好朋友来分享,文件太大实在是件很困扰的事情,若有改变视频文件大小的需求,可以来试试软媒小编推荐的...