gpt4 book ai didi

c - 如何获取大于 4 Gb 的文件大小?

转载 作者:可可西里 更新时间:2023-11-01 12:41:17 25 4
gpt4 key购买 nike

我做了一个简单的函数,它获取文件的大小。

int file_size( char * filename )
{
int size;
struct stat st;

stat( filename, &st );
size = st.st_size;

return size;

}//file_size

它工作正常,但如果我有一个大于 4Gb 的文件,我得到一个负数,当然这不是正确的文件大小。那么我怎样才能得到这么大的文件呢?我认为,返回值应该是任何其他值,例如 int,但我不知道,而且我认为这不会解决我的问题。

谢谢,

坎比

更新:

嗨!

我找到了解决方案。我必须使用 __stat64。我修改了我的功能,现在它正在检索实际大小。我用一个 8Gb 的大文件对其进行了测试。

unsigned long long int file_size( char * filename )
{
unsigned long long int size;
struct __stat64 st;

__stat64( filename, &st );
size = st.st_size;

return size;

}//file_size

还有一个通知:

当我使用 printf 时,我不得不使用“%I64d”来打印它。

最佳答案

你或许可以使用 _stat64 .

关于c - 如何获取大于 4 Gb 的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2361385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com