方法一:
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;
}
分享到:
相关推荐
"易语言API转换文件大小"是一个关键的主题,它涉及到如何利用API函数来获取文件的大小,并将其转换为用户友好的格式。下面将详细介绍这个主题的相关知识点。 1. **API调用**: 易语言虽然提供了自己的库函数,但在...
获取文件大小函数,文件大小单位转换为兆(M),并保留两位小数。
根据给定的文件信息,我们可以总结出以下关于“文件大小和最后修改日期的转换”的相关知识点: ### 一、文件最后修改日期的获取与格式化 #### 1. 获取文件最后修改时间 在Java中,可以通过`java.io.File`类中的`...
在IT领域,尤其是在编程和数据处理中,经常需要进行文件大小单位之间的转换。"易语言-文件大小转换源码 字节转换成KB/MB/GB"这个标题和描述揭示了一个关键知识点,即如何使用易语言(Easy Language)来实现这个功能...
请注意,文件大小的单位转换通常基于1024进制(1KB = 1024B,1MB = 1024KB,以此类推),但在实际存储设备中,制造商通常使用1000进制(1KB = 1000B,1MB = 1000KB,等)。因此,在实际应用中,你可能需要根据实际...
1. **文件大小限制**:根据业务需求设定合理的文件大小上限。 2. **跨浏览器兼容性**:支持主流浏览器,如Chrome、Firefox、Internet Explorer和360浏览器等。 3. **友好提示**:当文件大小超过限制时,应向用户提供...
### 将文件大小变成相应的字符串 #### 知识点概览 本文主要介绍了一段用于将文件大小转换为易于理解的字符串格式(如“1.41KB”或“1.32MB”)的Visual Basic (VB) 源代码。此功能在多种场景下都非常实用,例如在...
在这个场景下,“易语言取文件大小”指的是使用易语言编写代码来获取指定文件的字节数或者尺寸。下面将详细探讨如何在易语言中实现这一功能。 首先,我们需要理解“取文件大小”的概念。文件大小通常是指文件在磁盘...
这个类可能采用了分块读取文件的方式,逐部分计算文件大小,避免一次性加载整个文件到内存中。 3. **错误处理**:当文件不存在或者没有权限访问时,该类可能会有相应的错误处理机制,返回错误信息或者抛出异常。 4...
在Delphi编程中,获取文件大小是一项常见的任务,特别是在处理用户上传文件或管理大量数据时。文件大小的获取有助于执行各种操作,例如限制上传文件的大小以优化存储和传输效率,或者在处理大文件时进行进度条显示。...
通过这样的转换,我们可以更好地管理和理解文件大小,尤其是在资源有限的环境下,如移动设备或网络传输,对文件大小的直观表示至关重要。易语言提供了简单易用的编程接口,使得开发者能够轻松地实现这些功能。
在计算机科学中,二进制文件大小端转换是一个重要的概念,尤其在处理跨平台数据交换时更为关键。大小端(Endian)是指在一个多字节的数据类型(如整型或浮点型)中,高字节和低字节的存储顺序。这种顺序在不同的...
在`Form_Load`事件中,程序首先调用`OpenFile`函数打开文件,然后通过`GetFileSize`获取文件大小,最后调用`FormatKB`函数将文件大小转换为字符串并显示给用户。 ```vb Dim FileHandle As Long Dim strFileName As ...
利用 Zabbix 监控数据库文件大小 本文将围绕使用 Zabbix 监控数据库文件大小展开,让我们一起探索如何使用 Zabbix 监控数据库文件大小。 数据库文件大小监控的必要性 数据库文件大小的监控是非常重要的,因为...
你可以通过`DirectoryInfo`类获取目录中的所有文件和子目录,然后对每个`FileInfo`对象调用`Length`属性来累加文件大小。 总结来说,通过C#的`FileInfo`和`DriveInfo`类,我们可以轻松地获取文件和磁盘的大小信息。...
### 获取FTP服务器文件大小的知识点解析 在进行网络文件传输时,经常需要了解远程文件的大小,以便于更好地控制文件的下载进度或者进行其他相关的管理操作。本文将围绕“获取FTP服务器文件的大小”这一主题展开,...
本文将介绍几种JavaScript获取文件大小的方法。 首先,我们来看方法一,使用ActiveX控件。这种方法适用于Internet Explorer浏览器,通过创建`ActiveXObject("Scripting.FileSystemObject")`来访问文件系统对象,...
"bin文件转txt文件工具"就是这样一个实用程序,它专为将二进制(bin)文件转换成文本(txt)文件而设计。这个工具由Visual Studio 2010开发,能够处理任意大小的bin文件,使得数据的解析和读取变得更加容易。 首先...
"减小SolidWorks文件大小的八种方法" 在使用SolidWorks软件设计和制作模型时,文件大小的控制是非常重要的。大的文件不仅影响文件传输的速度,还会影响设计和制作的效率。因此,减小SolidWorks文件大小的方法变得...