从dirent结构中打印off_t文件大小

安蒂法

我想要的只是打印我正在使用的字节的文件大小

DIR *d;
struct dirent *dir;
d= opendir(absolute_path);

while((dir= readdir(d))!=NULL){
    printf("%s\t %d\t %u\n",dir->d_name,dir->d_type,(int long long )dir->d_off);
}

类型d_off的打印off_t错误。对于323,388 bytes它打印的文件1296623584

我认为这是问题所在。我试过很多铸件,如%d%s%u%llu...什么是正确的铸造?

编辑:用于查找文件大小的正确函数是lstat()使用stat结构。

肖恩·佩里(Sean Perry)

正如@Andrey指出的那样,d_off的值并不总是有用的,甚至不存在。例如,OSX没有它。使用呼叫stat代替。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

寻找off_t大小

来自分类Dev

打印一个off_t

来自分类Dev

如何正确找到off_t大小

来自分类Dev

将char []转换为off_t

来自分类Dev

将char []转换为off_t

来自分类Dev

如何在C中显示具有Dirent和Stat结构的所有文件

来自分类Dev

打印文件中不同单词的总数(区分大小写)

来自分类Dev

我可以将lua_tointeger()用于off_t吗?

来自分类Dev

用C ++ 11编译时Mingw g ++无法识别off_t

来自分类Dev

将off_t用于非字节偏移量是否合适?

来自分类Dev

我可以将lua_tointeger()用于off_t吗?

来自分类Dev

struct dirent在头文件中没有de_type

来自分类Dev

C中的结构大小

来自分类Dev

在结构内打印任意大小的数组

来自分类Dev

在C中转换为size_t时,如何正确检查off_t值不会溢出?

来自分类Dev

gdb中的打印结构元素

来自分类Dev

中序遍历打印结构

来自分类Dev

跨本机GCC 4.8构建:libcpp错误:从long long到off_t(又名long int)的无效转换

来自分类Dev

根据bash中的文件大小打印文件的有序列表

来自分类Dev

如何使用C中的结构数组从文件中打印已排序的行

来自分类Dev

如何在我从文件中读取的结构中打印数据

来自分类Dev

在Unix上打印出文件结构

来自分类Dev

在输入文件中搜索并打印所有非重复的结构名称

来自分类Dev

使用Dirent不工作第二次计算C中目录中的文件数。

来自分类Dev

根据文件读取条件在结构中初始化char的大小

来自分类Dev

linux + 打印根文件系统大小

来自分类Dev

为什么使用Dirent错误地计算目录中现有文件的数量?

来自分类Dev

如何在C中使用Dirent标头扫描文件夹中的文本

来自分类Dev

结构中的python json打印键

Related 相关文章

热门标签

归档