中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > C/C++
c语言下有没有判断文件大小的函数??
作者:未知 时间:2005-09-13 19:28 出处:ChinaUnix.net 责编:chinaitpower
              摘要:c语言下有没有判断文件大小的函数??

thanks

我要对一个空文件,做一个判断。 判断它的大小是否为0

 lenovo 回复于:2004-04-07 16:00:57
man stat
man fstat

 xiaoen_tang 回复于:2004-04-07 19:43:41
long
   get_file_size( char * filename )
   {
        struct stat f_stat;

        if( stat( filename, &f_stat ) == -1 ){
            return -1;
        }

        return (long)f_stat.st_size;
    }

 whyglinux 回复于:2004-05-03 16:13:28
另一种判断文件大小的方法。
[code:1:fae3aacbeb]
long
get_file_size( char* filename )
{
    FILE* fp = fopen( filename, "r" );
    if (fp==NULL) return -1;
    fseek( fp, 0L, SEEK_END );
    return ftell(fp); 
}
[/code:1:fae3aacbeb]

 JohnBull 回复于:2004-05-03 17:25:26
先打开文件这种判断不严密,没有处理打开失败,有core dump可能。
还是stat直接一些。

 whyglinux 回复于:2004-05-03 17:43:04
同意。只想示例一种方法,没有考虑到程序的健壮性。

谢谢版主提醒。

 Amber_star 回复于:2004-09-29 20:15:19
按照这种说法, 一个文件的最大长度为2  的32次方 ,就是4G

 Amber_star 回复于:2004-09-29 20:18:44
我想在新见一个文件的时候就指定其大小怎么办呢.lseek 函数好像办不到的啊,必须在后面写点东西才能是文件的长度确定下来,请问有其他的法子吗?

 lenovo 回复于:2004-09-29 20:25:09
比如你想要n个字节大小的文件,
你先lseek到n-1字节处,然后随便write一个字节
就可以了。

 Amber_star 回复于:2004-09-29 20:30:18
那就是要浪费一个字节了 ^_^

 lenovo 回复于:2004-09-29 20:39:20
[quote:99ce2f458d="Amber_star"]那就是要浪费一个字节了 ^_^[/quote:99ce2f458d]
我晕,什么叫浪费呀?

 Amber_star 回复于:2004-09-29 20:55:59
ftruncate

 flw 回复于:2004-09-30 13:51:00
[quote:0074a56593="Amber_star"]那就是要浪费一个字节了 ^_^[/quote:0074a56593]
看清楚了。
脑子怎么就转不过弯呢。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有