C++ 获取某文件的大小(字节数)(大文件读写,支持大于2GB文件)
来源:互联网 发布:c语言中文版 编辑:程序博客网 时间:2024/04/24 18:26
一个文件的大小可能大于1GB , 用 __int64 来表示其大小.
#include <stdlib.h>
#include <string.h>
#include<stdio.h>
#include "io.h"
__int64 filesize( char * path )
{
_finddatai64_t filefind;
int done=0,handle;
__int64 fs =-1;
if((handle=_findfirsti64(path ,&filefind))==-1) return -1;
if (!(_A_SUBDIR== (_A_SUBDIR & filefind.attrib)))
{
fs = filefind.size ;
}
_findclose(handle);
return fs;
}
int main(void)
{
__int64 fs ;
char * fname = "c:\\0-1.jpg" ;
fs = filesize( fname );
printf( "file : %s ", fname );
if ( fs==-1)
printf( " not foind \n");
else
printf( " filesize= %I64d bytes\n", fs );
return 0;
}
--- 结果 --
file : c:\0-1.jpg filesize= 315341 bytes
本程序在 WinGW gcc, VC6.0 下测试通过.
-------------------------------------------------------------------------------
以下是在 VC2008 下测试通过:
// test2008.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include <string.h>
#include<stdio.h>
#include "io.h"
__int64 filesize( char * path )
{
_finddatai64_t filefind;
int done=0,handle;
__int64 fs =-1;
if((handle=_findfirsti64(path ,&filefind))==-1) return -1;
if (!(_A_SUBDIR== (_A_SUBDIR & filefind.attrib)))
{
fs = filefind.size ;
}
_findclose(handle);
return fs;
}
int _tmain(int argc, _TCHAR* argv[])
{
__int64 fs ;
char * fname = "c:\\0-1.jpg" ;
fs = filesize( fname );
printf( "file : %s ", fname );
if ( fs==-1)
printf( " not foind \n");
else
printf( " filesize= %I64d bytes\n", fs );
getchar();
return 0;
}
- C++ 获取某文件的大小(字节数)(大文件读写,支持大于2GB文件)
- linux 大文件(大于2GB)编程支持方法
- 用C语言获取任意文件的长度(可能大于2GB)
- js获取上传文件的大小(字节数)
- 获取文件的字节数
- C# 读取大文件 (可以读取3GB大小的txt文件)
- C# 读取大文件 (可以读取3GB大小的txt文件)
- 文件读写的字节数问题
- Linux 下 C语言大文件读写(大于4G)
- 【网摘】Linux 下 C语言大文件读写(大于4G)
- Linux 下 C语言大文件读写(大于4G)
- VC++ 大文件读写(大于4G)
- VC++ 大文件读写(大于4G)
- VC++ 大文件读写(大于4G)
- 如何获取文件的字节数?
- C++获取文件字节数
- stat获取大于2G的文件
- 取文件的大小 (KB,MB,GB...)
- flex4.5 DataGrid控制某行不可编辑
- php关联数组排序(快速排序)
- AIC23
- SQL 模糊查询
- JS正则表达式
- C++ 获取某文件的大小(字节数)(大文件读写,支持大于2GB文件)
- js 数组去除重复项
- WebService中方法的重载
- Linux中断处理驱动程序编写
- Android之Wifi学习1
- android.os.Process.killProcess 会让程序退出吗
- spring3管理struts2和hibernate3(1)
- Lucene 教程2
- Linux usb驱动程序全注释