c语言下有没有判断文件大小的函数??

发表于:2007-05-25来源:作者:点击数: 标签:言下有没有小的文件判断
thanks 我要对一个空文件,做一个判断。判断它的大小是否为0 lenovo 回复于:2004-04-07 16:00:57 manstat manfstat xiaoen_tang 回复于:2004-04-07 19:43:41 long get_file_size(char*filename) { structstatf_stat; if(stat(filename,nbsp;)==-1){ return

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]
看清楚了。
脑子怎么就转不过弯呢。

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)